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]
