stillalex commented on PR #1484:
URL: https://github.com/apache/solr/pull/1484#issuecomment-1505877485

   I would like to revisit one of the changes here, the `Request says it is 
coming from parent shard leader but we are in active state` flow. I am looking 
at this from the ShardSplitTest failures pov and I don't think a retry will 
help in any way.
   If after a shard split, the new slice reached the 'active' state and is 
still receiving some buffer update from the old-leader it is not going to 
recover on try because 'active' state is the final state (there are no more 
transitions, the slice goes through construction -> recovery -> active).
   What I am seeing as a race window is: on the old shard there is call to 
`getSubShardLeaders` which returns the new slice because at the call moment the 
status is `state == Slice.State.CONSTRUCTION || state == Slice.State.RECOVERY`, 
but once it reaches the new slice the state is 'active'. (for the sake of 
completeness params for the request are  
`update.distrib=FROMLEADER&distrib.from.parent=shard1&distrib.from=http://127.0.0.1:64511/collection1_shard1_replica_n2/&wt=javabin&version=2`).
   
   I don't know what the best solution is here, but if there is a retry with 
the same params it will fail again, it probably needs to be a retry with a 
different set of params, removing all the 'leader' bits.


-- 
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