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

Reply via email to