{"action":"created","issue":{"url":"https://api.github.com/repos/larsga/Duke/issues/226","repository_url":"https://api.github.com/repos/larsga/Duke","labels_url":"https://api.github.com/repos/larsga/Duke/issues/226/labels{/name}","comments_url":"https://api.github.com/repos/larsga/Duke/issues/226/comments","events_url":"https://api.github.com/repos/larsga/Duke/issues/226/events","html_url":"https://github.com/larsga/Duke/issues/226","id":155964292,"number":226,"title":"NullPointerException in EstimateResultTracker.doQuery(LuceneDatabase.java:493)","user":{"login":"tombech","id":1725774,"avatar_url":"https://avatars.githubusercontent.com/u/1725774?v=3","gravatar_id":"","url":"https://api.github.com/users/tombech","html_url":"https://github.com/tombech","followers_url":"https://api.github.com/users/tombech/followers","following_url":"https://api.github.com/users/tombech/following{/other_user}","gists_url":"https://api.github.com/users/tombech/gists{/gist_id}","starred_url":"https://api.github.com/users/tombech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tombech/subscriptions","organizations_url":"https://api.github.com/users/tombech/orgs","repos_url":"https://api.github.com/users/tombech/repos","events_url":"https://api.github.com/users/tombech/events{/privacy}","received_events_url":"https://api.github.com/users/tombech/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-20T13:33:59Z","updated_at":"2016-05-23T07:39:23Z","closed_at":null,"body":"This is with a record linkage (master/candidate) setup and appears to happen after a certain number\r\nof record have been processed and will then happend with any record posted after that. There is nothing special with the record before/after this as far as I can see. The linkage database is a Virtuoso server, if that matters.\r\n\r\nThe full traceback is:\r\n\r\nServer Error</pre></p><h3>Caused by:</h3><pre>java.lang.NullPointerException\r\n    at no.priv.garshol.duke.databases.LuceneDatabase$EstimateResultTracker.doQuery(LuceneDatabase.java:493)\r\n    at no.priv.garshol.duke.databases.LuceneDatabase$EstimateResultTracker.doQuery(LuceneDatabase.java:483)\r\n    at no.priv.garshol.duke.databases.LuceneDatabase.findCandidateMatches(LuceneDatabase.java:284)\r\n    at no.priv.garshol.duke.Processor.match(Processor.java:485)\r\n    at no.priv.garshol.duke.Processor.linkBatch(Processor.java:418)\r\n    at no.priv.garshol.duke.Processor.link(Processor.java:341)\r\n    at no.bouvet.sesam.sdshare.receiver.duke.DukeRecordLinkageConfig.processRecord(DukeRecordLinkageConfig.java:43)\r\n    at no.bouvet.sesam.sdshare.receiver.duke.PushReceiverServlet.doPost(PushReceiverServlet.java:82)\r\n    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)\r\n    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\r\n    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)\r\n    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)\r\n    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\r\n    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)\r\n    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)\r\n    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)\r\n    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)\r\n    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)\r\n    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)\r\n    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\r\n    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)\r\n    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)\r\n    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)\r\n    at org.eclipse.jetty.server.Server.handle(Server.java:499)\\n\\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)\r\n    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)\r\n    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)\r\n    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)\r\n    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)\r\n    at java.lang.Thread.run(Thread.java:745)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/larsga/Duke/issues/comments/220908035","html_url":"https://github.com/larsga/Duke/issues/226#issuecomment-220908035","issue_url":"https://api.github.com/repos/larsga/Duke/issues/226","id":220908035,"user":{"login":"larsga","id":446984,"avatar_url":"https://avatars.githubusercontent.com/u/446984?v=3","gravatar_id":"","url":"https://api.github.com/users/larsga","html_url":"https://github.com/larsga","followers_url":"https://api.github.com/users/larsga/followers","following_url":"https://api.github.com/users/larsga/following{/other_user}","gists_url":"https://api.github.com/users/larsga/gists{/gist_id}","starred_url":"https://api.github.com/users/larsga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/larsga/subscriptions","organizations_url":"https://api.github.com/users/larsga/orgs","repos_url":"https://api.github.com/users/larsga/repos","events_url":"https://api.github.com/users/larsga/events{/privacy}","received_events_url":"https://api.github.com/users/larsga/received_events","type":"User","site_admin":false},"created_at":"2016-05-23T07:39:23Z","updated_at":"2016-05-23T07:39:23Z","body":"I looked into this a bit, and it seems that the problem is that the `searcher` is null.\r\n\r\nThe `findCandidateMatches` method begins:\r\n\r\n```\r\n    if (directory == null)\r\n      init();\r\n```\r\n\r\nThe `init()` call will set `searcher` before returning, and there is no other code that sets `searcher` to null. So either you are not using the Duke version that's in the master branch, or the problem is that `searcher.search(query, filter, thislimit)` is returning null (causing `.scoreDocs` to fail), or something's really, really weird.\r\n\r\nSo the question becomes, can `IndexSearcher.search` return null, and the javadoc doesn't say. I'm pretty sure I've never seen this before, though.\r\n\r\nThat's as far as I've gotten."}}
{"actor":{"display_login":"larsga"}}