Current Configuration Solr Version: 7.5.0 Operating mode: solrcloud Number of shards: 1
Configuration of nodes: 1 tlog reader (static) One tlog replica (static) Multiple pull replicas (started dynamically by AutoScalingGroup in aws) Startup activity : 1. instance launched by AutoScalingGroup of AWS 2. Solr starts in systemd. 3. systemd's ExecStartPost will join the cluster as a pull type replica by throwing a request such as the following curl -sSf " http://localhost:8983/solr/admin/collections?action=ADDREPLICA&collection=${COLLECTION}&shard=shard1&node=${IP}:8983_solr &type=pull Stop activity: 1. systemd's ExecStop stops solr after throwing the following request: curl -Ss "${COLLECTION}&shard=shard1&replica=${CORE} curl -Ss " http://localhost:8983/solr/admin/collections?action=DELETEREPLICA&collection=${COLLECTION}&shard=shard1&replica=${CORE} " Problem : The request is forwarded to another replica because the instance is started and cannot process itself until the replication completes. (Right?) In most cases, this is not a problem, but the problem occurs when the instance is started and stopped at the same time. - Instance startup forwards the request to another replica - Removing replicas by stopping the instance When all of these things work at the same time, a 500 series error occurs in the newly started instance. The errors are as follows. ``. org.apache.solr.common.SolrException: Error trying to proxy request for url ```` This happens because the instance that is launched forwards the request to the stopped instance before it receives a notification from ZooKeeper. I'm trying to figure out how to do the following at the moment, but are there any other workarounds that look good? Or will the problem be solved by upgrading? - DELETEREPLICA and then wait a few seconds to stop solr Thank you. Translated with www.DeepL.com/Translator (free version)