Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-7129

CloudSolrClient can put extra load on ZooKeeper for collections with stateFormat=2

    XMLWordPrintableJSON

Details

    Description

      Each stale state response from the server causes CloudSolrClient to evict the requested collection from the local cache. At this point, the request is retried and the latest collection state is fetched live from ZooKeeper. There is nothing preventing multiple request threads to simultaneously hit ZooKeeper and cause a thundering herd effect. There is synchronization to prevent multiple request threads from simultaneously trying to refresh the state but that is not enough. Each request thread which receives a stale state will sequentially refresh state from ZK after acquiring the lock.

      We should use the past and current znode version of the cluster state to make sure that redundant fetches from ZooKeeper are never possible.

      Attachments

        Issue Links

          Activity

            People

              noble.paul Noble Paul
              shalin Shalin Shekhar Mangar
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: