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