stillalex commented on PR #1504: URL: https://github.com/apache/solr/pull/1504#issuecomment-1491075979
minor update. it seems that the 'delete' flow has some version checks in place https://github.com/apache/solr/blob/288e5123dec8f604fe57a9cb13e9770001c0ed57/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java#L1079, while the add flow is allowing the no-version save. an equivalent check could be added around this line https://github.com/apache/solr/blob/288e5123dec8f604fe57a9cb13e9770001c0ed57/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java#L454 at this point `versionOnUpdate` is zero because I think the update is coming from the leader and the current shard split piece is still in a weird state. I actually caught this flow in one run (the line numbers might not match due to some local logs I added) ``` 2> 12044 ERROR (qtp2034856562-109) [n:127.0.0.1:65414_l_lbs%2Fix c:collection1 s:shard1_1 r:core_node12 x:collection1_shard1_1_replica_n10] o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: missing _version_ on update from leader 2> => org.apache.solr.common.SolrException: missing _version_ on update from leader 2> at org.apache.solr.update.processor.DistributedUpdateProcessor.versionDelete(DistributedUpdateProcessor.java:1105) 2> org.apache.solr.common.SolrException: missing _version_ on update from leader 2> at org.apache.solr.update.processor.DistributedUpdateProcessor.versionDelete(DistributedUpdateProcessor.java:1105) ~[main/:?] 2> at org.apache.solr.update.processor.DistributedUpdateProcessor.doDeleteById(DistributedUpdateProcessor.java:867) ~[main/:?] 2> at org.apache.solr.update.processor.DistributedZkUpdateProcessor.doDeleteById(DistributedZkUpdateProcessor.java:376) ~[main/:?] 2> at org.apache.solr.update.processor.DistributedUpdateProcessor.processDelete(DistributedUpdateProcessor.java:853) ~[main/:?] 2> at org.apache.solr.update.processor.DistributedZkUpdateProcessor.processDelete(DistributedZkUpdateProcessor.java:353) ~[main/:?] 2> at org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processDelete(LogUpdateProcessorFactory.java:134) ~[main/:?] 2> at org.apache.solr.handler.loader.JavabinLoader.delete(JavabinLoader.java:222) ~[main/:?] 2> at org.apache.solr.handler.loader.JavabinLoader.parseAndLoadDocs(JavabinLoader.java:140) ~[main/:?] 2> at org.apache.solr.handler.loader.JavabinLoader.load(JavabinLoader.java:74) ~[main/:?] 2> at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:101) ~[main/:?] 2> at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:84) ~[main/:?] 2> at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:224) [main/:?] 2> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2892) [main/:?] 2> at org.apache.solr.servlet.HttpSolrCall.executeCoreRequest(HttpSolrCall.java:866) [main/:?] 2> at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:562) [main/:?] 2> at org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:252) [main/:?] 2> at org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilter$0(SolrDispatchFilter.java:220) [main/:?] ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org