dice-group / dice-group/Squirrel

Domain logging crashes with NullPointerException

Open
#23 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
25
Forks
19
PR merge metrics
No merged PRs in 30d

Description

### Problem

In the 3rd run, worker 2 crashes because of a NullPointerException.
```
{"log":"2017-10-02 12:27:07,145 [main] ERROR [o.a.s.s.w.i.WorkerImpl ] - \u003cGot a severe exception. Aborting.\u003e\n","stream":"stdout","time":"2017-10-02T12:27:07.147686523Z"}
{"log":"java.lang.NullPointerException\n","stream":"stdout","time":"2017-10-02T12:27:07.147747902Z"}
{"log":"\u0009at java.io.Writer.write(Writer.java:157)\n","stream":"stdout","time":"2017-10-02T12:27:07.14775574Z"}
{"log":"\u0009at org.aksw.simba.squirrel.log.DomainLogger.next(DomainLogger.java:64)\n","stream":"stdout","time":"2017-10-02T12:27:07.147763029Z"}
{"log":"\u0009at org.aksw.simba.squirrel.log.DomainLogger.next(DomainLogger.java:17)\n","stream":"stdout","time":"2017-10-02T12:27:07.147770383Z"}
{"log":"\u0009at org.aksw.simba.squirrel.worker.impl.WorkerImpl.sendNewUris(WorkerImpl.java:159)\n","stream":"stdout","time":"2017-10-02T12:27:07.147778616Z"}
{"log":"\u0009at org.aksw.simba.squirrel.worker.impl.WorkerImpl.performCrawling(WorkerImpl.java:142)\n","stream":"stdout","time":"2017-10-02T12:27:07.1477857Z"}
{"log":"\u0009at org.aksw.simba.squirrel.worker.impl.WorkerImpl.crawl(WorkerImpl.java:105)\n","stream":"stdout","time":"2017-10-02T12:27:07.147792535Z"}
{"log":"\u0009at org.aksw.simba.squirrel.worker.impl.WorkerImpl.run(WorkerImpl.java:90)\n","stream":"stdout","time":"2017-10-02T12:27:07.147799415Z"}
{"log":"\u0009at org.aksw.simba.squirrel.components.WorkerComponent.run(WorkerComponent.java:71)\n","stream":"stdout","time":"2017-10-02T12:27:07.14780594Z"}
{"log":"\u0009at org.hobbit.core.run.ComponentStarter.main(ComponentStarter.java:67)\n","stream":"stdout","time":"2017-10-02T12:27:07.147832593Z"}
```

1. The exception shouldn't occur
2. The logging of domains is only logging and not a crucial part of the worker. If the logging encounters a problem, it shouldn't stop the worker.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with org.aksw.simba.squirrel.log.DomainLogger.next at DomainLogger.java:64, then inspect its call from WorkerImpl.sendNewUris at WorkerImpl.java:159. Reproduce the third-run failure if possible or add a regression test around domain logging. Done means a logging failure does not throw a NullPointerException or stop the worker.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
observability-sre
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.