Hi, I have the following issue: I initially started with a Solr 5.3.1 + Zookeeper 3.4.6 cloud setup with 2 solr nodes and with one collection consisting of 2 shards and 2 replicas.
I am accessing the cluster using the CloudSolrClient. When I tried to delete a document, no error occurred but after deletion and subsequent commit, the document was still available via index queries. I checked in the Solr Admin and noticed that the same document resided in both shards on the same node which I thought was odd. Also after deleting the collection and recreating it, the issue remained. Then I tried upgrading to latest Solr 6.0.1 with the same setup. Again, I recreated the collection but I still could not delete the documents. Here is a log snippet of the deletion attempt of a single document: -------------------------------------------- 126023 INFO (qtp12209492-16) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.u.p.LogUpdateProcessorFactory [cc5363_dm_documentversion_shard1_replica1] webapp=/solr path=/update params={update.distrib=FROMLEADER&distrib.from=http://localhost:8983/solr/cc5363_dm_documentversion_shard1_replica2/&wt=javabin&version=2}{delete=[100002535 (-1535773473331216384)]} 0 16 126024 INFO (commitScheduler-15-thread-1) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.u.DirectUpdateHandler2 start commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=true,prepareCommit=false} 126036 INFO (commitScheduler-15-thread-1) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.c.SolrCore SolrIndexSearcher has not changed - not re-opening: org.apache.solr.search.SolrIndexSearcher 126038 INFO (commitScheduler-15-thread-1) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.u.DirectUpdateHandler2 end_commit_flush 126049 INFO (qtp12209492-20) [c:cc5363_dm_documentversion s:shard2 r:core_node1 x:cc5363_dm_documentversion_shard2_replica1] o.a.s.u.DirectUpdateHandler2 start commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false} 126050 INFO (qtp12209492-20) [c:cc5363_dm_documentversion s:shard2 r:core_node1 x:cc5363_dm_documentversion_shard2_replica1] o.a.s.u.DirectUpdateHandler2 No uncommitted changes. Skipping IW.commit. 126051 INFO (qtp12209492-19) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.u.DirectUpdateHandler2 start commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false} 126054 INFO (qtp12209492-20) [c:cc5363_dm_documentversion s:shard2 r:core_node1 x:cc5363_dm_documentversion_shard2_replica1] o.a.s.c.SolrCore SolrIndexSearcher has not changed - not re-opening: org.apache.solr.search.SolrIndexSearcher 126056 INFO (qtp12209492-20) [c:cc5363_dm_documentversion s:shard2 r:core_node1 x:cc5363_dm_documentversion_shard2_replica1] o.a.s.u.DirectUpdateHandler2 end_commit_flush 126055 INFO (qtp12209492-19) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.u.DirectUpdateHandler2 No uncommitted changes. Skipping IW.commit. 126057 INFO (qtp12209492-20) [c:cc5363_dm_documentversion s:shard2 r:core_node1 x:cc5363_dm_documentversion_shard2_replica1] o.a.s.u.p.LogUpdateProcessorFactory [cc5363_dm_documentversion_shard2_replica1] webapp=/solr path=/update params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from=http://localhost:8983/solr/cc5363_dm_documentversion_shard2_replica2/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false}{commit=} 0 10 126059 INFO (qtp12209492-19) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.c.SolrCore SolrIndexSearcher has not changed - not re-opening: org.apache.solr.search.SolrIndexSearcher 126063 INFO (qtp12209492-19) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.u.DirectUpdateHandler2 end_commit_flush 126064 INFO (qtp12209492-19) [c:cc5363_dm_documentversion s:shard1 r:core_node4 x:cc5363_dm_documentversion_shard1_replica1] o.a.s.u.p.LogUpdateProcessorFactory [cc5363_dm_documentversion_shard1_replica1] webapp=/solr path=/update params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from=http://localhost:8983/solr/cc5363_dm_documentversion_shard2_replica2/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false}{commit=} 0 13 -------------------------------------------- I used the CloudSolrClient.deleteById(collection, id); to delete the document. According to the logs, Solr thinks that nothing has changed and does not recreate the searcher so I tried to restart the instances but the document was still there. Finally, I was able to manually delete the document via the following request: POST http://localhost:7574/solr/cc5363_dm_documentversion_shard2_replica1/update?commit=true <delete><query>id:100002535</query></delete> So I tried CloudSolrClient.deleteByQuery(collection, "id:" + id); and it worked as well. This could be a bug in the CloudSolrClient.deleteById method or in the server side handler. Since my schema defines a uniqueKey, deleteById should work, right? Here is the relevant schema snippet: <field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false"/> <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/> <uniqueKey>id</uniqueKey> I also tried string type for id but it did not make any difference. <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/> <fieldType name="string" class="solr.StrField" sortMissingLast="true" /> Thanks, Moritz