[
https://issues.apache.org/jira/browse/SOLR-6357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16263448#comment-16263448
]
Andrew Hankinson edited comment on SOLR-6357 at 11/22/17 10:16 PM:
-------------------------------------------------------------------
I'm still seeing a problem related to this in Solr 7.0.1 (OSX) and 7.1.0
(RHEL7).
*Sample data:*
collections_sm is a dynamic multivalued string field. All others are string
fields.
{code:javascript}
{
"id":"1234",
"object_id":"1234",
"type":"object"
"collections_sm":["printed books"]
}
{
"id":"4567",
"object_id":"1234",
"type":"surface"
}
{
"id":"7890",
"object_id":"1234",
"type":"image"
}
{code}
*Query:*
{code}
<delete><query>{!join from=id to=object_id}collections_sm:('printed
books')</query></delete>
{code}
{code}
2017-11-22 22:00:20.802 INFO (qtp466002798-19) [ x:mycore]
o.a.s.u.p.LogUpdateProcessorFactory [mycore] webapp=/solr path=/update
params={commit=true}{deleteByQuery={!join from=id
to=object_id}collections_sm:('printed books') (-1584805205294186496)} 0 5
2017-11-22 22:00:20.802 ERROR (qtp466002798-19) [ x:mycore]
o.a.s.h.RequestHandlerBase org.apache.lucene.store.AlreadyClosedException: this
IndexWriter is closed
{code}
What's more, is that this seems to put the index in a corrupt state -- it will
not accept any more write or modification operations to the core until the data
directory is deleted. Any attempts to make changes to the core will result in
an error:
{code}
Caused by: java.lang.ClassCastException: org.apache.lucene.search.IndexSearcher
cannot be cast to org.apache.solr.search.SolrIndexSearcher
at
org.apache.solr.search.JoinQuery.createWeight(JoinQParserPlugin.java:169)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at org.apache.lucene.search.BooleanWeight.<init>(BooleanWeight.java:54)
at
org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:204)
at
org.apache.solr.update.DeleteByQueryWrapper.createWeight(DeleteByQueryWrapper.java:72)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at
org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:724)
at
org.apache.lucene.index.FrozenBufferedUpdates.applyQueryDeletes(FrozenBufferedUpdates.java:687)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:443)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:324)
at
org.apache.lucene.index.DocumentsWriter$ResolveUpdatesEvent.process(DocumentsWriter.java:723)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5057)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5045)
at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:466)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:293)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:278)
at
org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:235)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1987)
at
org.apache.solr.update.UpdateLog.openRealtimeSearcher(UpdateLog.java:648)
at org.apache.solr.update.UpdateLog.deleteByQuery(UpdateLog.java:629)
at
org.apache.solr.update.DirectUpdateHandler2.deleteByQuery(DirectUpdateHandler2.java:534)
at
org.apache.solr.update.processor.RunUpdateProcessor.processDelete(RunUpdateProcessorFactory.java:78)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalDelete(DistributedUpdateProcessor.java:996)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.versionDeleteByQuery(DistributedUpdateProcessor.java:1691)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doDeleteByQuery(DistributedUpdateProcessor.java:1595)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.processDelete(DistributedUpdateProcessor.java:1404)
at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processDelete(LogUpdateProcessorFactory.java:124)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.handler.loader.XMLLoader.processDelete(XMLLoader.java:366)
at
org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:292)
at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:188)
at
org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97)
at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68)
... 33 more
2017-11-22 22:00:20.803 ERROR (qtp466002798-19) [
x:digital_bodleian_production] o.a.s.s.HttpSolrCall
null:org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed
at org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:896)
at org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:910)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3377)
at
org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:679)
at
org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:93)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalCommit(DistributedUpdateProcessor.java:1950)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.processCommit(DistributedUpdateProcessor.java:1926)
at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processCommit(LogUpdateProcessorFactory.java:160)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68)
at
org.apache.solr.handler.RequestHandlerUtils.handleCommit(RequestHandlerUtils.java:69)
at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:72)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:177)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2484)
at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:720)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:526)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:382)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:326)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:534)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassCastException: org.apache.lucene.search.IndexSearcher
cannot be cast to org.apache.solr.search.SolrIndexSearcher
at
org.apache.solr.search.JoinQuery.createWeight(JoinQParserPlugin.java:169)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at org.apache.lucene.search.BooleanWeight.<init>(BooleanWeight.java:54)
at
org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:204)
at
org.apache.solr.update.DeleteByQueryWrapper.createWeight(DeleteByQueryWrapper.java:72)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at
org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:724)
at
org.apache.lucene.index.FrozenBufferedUpdates.applyQueryDeletes(FrozenBufferedUpdates.java:687)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:443)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:324)
at
org.apache.lucene.index.DocumentsWriter$ResolveUpdatesEvent.process(DocumentsWriter.java:723)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5057)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5045)
at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:466)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:293)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:278)
at
org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:235)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1987)
at
org.apache.solr.update.UpdateLog.openRealtimeSearcher(UpdateLog.java:648)
at org.apache.solr.update.UpdateLog.deleteByQuery(UpdateLog.java:629)
at
org.apache.solr.update.DirectUpdateHandler2.deleteByQuery(DirectUpdateHandler2.java:534)
at
org.apache.solr.update.processor.RunUpdateProcessor.processDelete(RunUpdateProcessorFactory.java:78)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalDelete(DistributedUpdateProcessor.java:996)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.versionDeleteByQuery(DistributedUpdateProcessor.java:1691)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doDeleteByQuery(DistributedUpdateProcessor.java:1595)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.processDelete(DistributedUpdateProcessor.java:1404)
at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processDelete(LogUpdateProcessorFactory.java:124)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.handler.loader.XMLLoader.processDelete(XMLLoader.java:366)
at
org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:292)
at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:188)
at
org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97)
at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68)
... 33 more
{code}
was (Author: ahankinson):
I'm still seeing a problem related to this in Solr 7.0.1 (OSX) and 7.1.0
(RHEL7).
*Sample data:*
collections_sm is a dynamic multivalued string field. All others are string
fields.
{code:json}
{
"id":"1234",
"object_id":"1234",
"type":"object"
"collections_sm":["printed books"]
}
{
"id":"4567",
"object_id":"1234",
"type":"surface"
}
{
"id":"7890",
"object_id":"1234",
"type":"image"
}
{code}
*Query:*
{code}
<delete><query>{!join from=id to=object_id}collections_sm:('printed
books')</query></delete>
{code}
{code}
2017-11-22 22:00:20.802 INFO (qtp466002798-19) [ x:mycore]
o.a.s.u.p.LogUpdateProcessorFactory [mycore] webapp=/solr path=/update
params={commit=true}{deleteByQuery={!join from=id
to=object_id}collections_sm:('printed books') (-1584805205294186496)} 0 5
2017-11-22 22:00:20.802 ERROR (qtp466002798-19) [ x:mycore]
o.a.s.h.RequestHandlerBase org.apache.lucene.store.AlreadyClosedException: this
IndexWriter is closed
{code}
What's more, is that this seems to put the index in a corrupt state -- it will
not accept any more write or modification operations to the core until the data
directory is deleted. Any attempts to make changes to the core will result in
an error:
{code}
Caused by: java.lang.ClassCastException: org.apache.lucene.search.IndexSearcher
cannot be cast to org.apache.solr.search.SolrIndexSearcher
at
org.apache.solr.search.JoinQuery.createWeight(JoinQParserPlugin.java:169)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at org.apache.lucene.search.BooleanWeight.<init>(BooleanWeight.java:54)
at
org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:204)
at
org.apache.solr.update.DeleteByQueryWrapper.createWeight(DeleteByQueryWrapper.java:72)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at
org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:724)
at
org.apache.lucene.index.FrozenBufferedUpdates.applyQueryDeletes(FrozenBufferedUpdates.java:687)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:443)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:324)
at
org.apache.lucene.index.DocumentsWriter$ResolveUpdatesEvent.process(DocumentsWriter.java:723)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5057)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5045)
at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:466)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:293)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:278)
at
org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:235)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1987)
at
org.apache.solr.update.UpdateLog.openRealtimeSearcher(UpdateLog.java:648)
at org.apache.solr.update.UpdateLog.deleteByQuery(UpdateLog.java:629)
at
org.apache.solr.update.DirectUpdateHandler2.deleteByQuery(DirectUpdateHandler2.java:534)
at
org.apache.solr.update.processor.RunUpdateProcessor.processDelete(RunUpdateProcessorFactory.java:78)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalDelete(DistributedUpdateProcessor.java:996)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.versionDeleteByQuery(DistributedUpdateProcessor.java:1691)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doDeleteByQuery(DistributedUpdateProcessor.java:1595)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.processDelete(DistributedUpdateProcessor.java:1404)
at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processDelete(LogUpdateProcessorFactory.java:124)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.handler.loader.XMLLoader.processDelete(XMLLoader.java:366)
at
org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:292)
at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:188)
at
org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97)
at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68)
... 33 more
2017-11-22 22:00:20.803 ERROR (qtp466002798-19) [
x:digital_bodleian_production] o.a.s.s.HttpSolrCall
null:org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed
at org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:896)
at org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:910)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3377)
at
org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:679)
at
org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:93)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalCommit(DistributedUpdateProcessor.java:1950)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.processCommit(DistributedUpdateProcessor.java:1926)
at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processCommit(LogUpdateProcessorFactory.java:160)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68)
at
org.apache.solr.handler.RequestHandlerUtils.handleCommit(RequestHandlerUtils.java:69)
at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:72)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:177)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2484)
at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:720)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:526)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:382)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:326)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:534)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassCastException: org.apache.lucene.search.IndexSearcher
cannot be cast to org.apache.solr.search.SolrIndexSearcher
at
org.apache.solr.search.JoinQuery.createWeight(JoinQParserPlugin.java:169)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at org.apache.lucene.search.BooleanWeight.<init>(BooleanWeight.java:54)
at
org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:204)
at
org.apache.solr.update.DeleteByQueryWrapper.createWeight(DeleteByQueryWrapper.java:72)
at
org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:734)
at
org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:724)
at
org.apache.lucene.index.FrozenBufferedUpdates.applyQueryDeletes(FrozenBufferedUpdates.java:687)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:443)
at
org.apache.lucene.index.FrozenBufferedUpdates.apply(FrozenBufferedUpdates.java:324)
at
org.apache.lucene.index.DocumentsWriter$ResolveUpdatesEvent.process(DocumentsWriter.java:723)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5057)
at
org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5045)
at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:466)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:293)
at
org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:278)
at
org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:235)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1987)
at
org.apache.solr.update.UpdateLog.openRealtimeSearcher(UpdateLog.java:648)
at org.apache.solr.update.UpdateLog.deleteByQuery(UpdateLog.java:629)
at
org.apache.solr.update.DirectUpdateHandler2.deleteByQuery(DirectUpdateHandler2.java:534)
at
org.apache.solr.update.processor.RunUpdateProcessor.processDelete(RunUpdateProcessorFactory.java:78)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalDelete(DistributedUpdateProcessor.java:996)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.versionDeleteByQuery(DistributedUpdateProcessor.java:1691)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.doDeleteByQuery(DistributedUpdateProcessor.java:1595)
at
org.apache.solr.update.processor.DistributedUpdateProcessor.processDelete(DistributedUpdateProcessor.java:1404)
at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processDelete(LogUpdateProcessorFactory.java:124)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.update.processor.UpdateRequestProcessor.processDelete(UpdateRequestProcessor.java:59)
at
org.apache.solr.handler.loader.XMLLoader.processDelete(XMLLoader.java:366)
at
org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:292)
at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:188)
at
org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97)
at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68)
... 33 more
{code}
> Using query time Join in deleteByQuery throws ClassCastException
> ----------------------------------------------------------------
>
> Key: SOLR-6357
> URL: https://issues.apache.org/jira/browse/SOLR-6357
> Project: Solr
> Issue Type: Bug
> Components: query parsers
> Affects Versions: 4.9
> Reporter: Arcadius Ahouansou
> Assignee: Mikhail Khludnev
> Fix For: 7.0
>
> Attachments: SOLR-6357.patch
>
>
> Consider the following input document where we have:
> - 1 Samsung mobile phone and
> - 2 manufactures: Apple and Samsung.
> {code}
> [
> {
> "id":"galaxy note ii",
> "cat":"product",
> "manu_s":"samsung"
> },
> {
> "id":"samsung",
> "cat":"manufacturer",
> "name":"Samsung Electronics"
> },
> {
> "id":"apple",
> "cat":"manufacturer",
> "name":"Apple Inc"
> }
> ]
> {code}
> My objective is to delete from the default index all manufacturers not having
> any product in the index.
> After indexing ( curl 'http://localhost:8983/solr/update?commit=true' -H
> "Content-Type: text/json" --data-binary @delete-by-join-query.json )
> I went to
> {code}http://localhost:8983/solr/select?q=cat:manufacturer -{!join
> from=manu_s to=id}cat:product
> {code}
> and I could see only Apple, the only manufacturer not having any product in
> the index.
> However, when I use that same query for deletion:
> {code}
> http://localhost:8983/solr/update?commit=true&stream.body=<delete><query>cat:manufacturer
> -{!join from=manu_s to=id}cat:product</query></delete>
> {code}
> I get
> {code}
> java.lang.ClassCastException: org.apache.lucene.search.IndexSearcher cannot
> be cast to org.apache.solr.search.SolrIndexSearcher
> at
> org.apache.solr.search.JoinQuery.createWeight(JoinQParserPlugin.java:143)
> at
> org.apache.lucene.search.BooleanQuery$BooleanWeight.<init>(BooleanQuery.java:185)
> at
> org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:526)
> at
> org.apache.lucene.search.BooleanQuery$BooleanWeight.<init>(BooleanQuery.java:185)
> at
> org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:526)
> at
> org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684)
> at
> org.apache.lucene.search.QueryWrapperFilter.getDocIdSet(QueryWrapperFilter.java:55)
> at
> org.apache.lucene.index.BufferedUpdatesStream.applyQueryDeletes(BufferedUpdatesStream.java:552)
> at
> org.apache.lucene.index.BufferedUpdatesStream.applyDeletesAndUpdates(BufferedUpdatesStream.java:287)
> at
> {code}
> This seems to be a bug.
> Looking at the source code, the exception is happening in {code}
> @Override
> public Weight createWeight(IndexSearcher searcher) throws IOException {
> return new JoinQueryWeight((SolrIndexSearcher)searcher);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]