sarkaramrit1993 opened a new pull request, #5255:
URL: https://github.com/apache/solr/pull/5255

   # Description
   
   [SOLR-18589](https://issues.apache.org/jira/browse/SOLR-18589): Collection 
API commands sent with `followAliases=true` carry the alias name, and the 
command resolves it only inside `call()`, after the lock was taken on the alias 
name. So `DELETEREPLICA collection=myAlias&followAliases=true` doesn't 
serialize with a concurrent command on the real collection. This affects 
DELETE, DELETESHARD, DELETEREPLICA, SPLITSHARD, MOVEREPLICA, MIGRATE, 
REINDEXCOLLECTION and RENAME, in both Overseer and distributed modes.
   
   # Solution
   
   Resolve the alias before computing the lock key 
(`CollectionHandlingUtils.lockCollectionName`), in 
`OverseerCollectionMessageHandler.lockTask` and 
`DistributedCollectionConfigSetCommandRunner`.
   
   # Tests
   
   `OverseerCollectionConfigSetProcessorTest.testLockTaskResolvesFollowedAlias` 
and the new `AliasCollectionApiLockTest` (Overseer disabled) fail on main and 
pass with the fix. The lock, alias, DeleteReplica and collection API suites 
pass.
   
   @HoustonPutman @dsmiley could you take a look when you get a chance?
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to