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

Zookeeper crash JVM stack OOM because of recover strategy

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 4.6
    • Fix Version/s: 5.0
    • Component/s: SolrCloud
    • Environment:

      Two linux servers, 65G memory, 16 core cpu
      20 collections, every collection has one shard two replica
      one zookeeper

      Description

      Some errors"org.apache.solr.common.SolrException: Error opening new searcher. exceeded limit of maxWarmingSearchers=2, try again later", that occur distributedupdateprocessor trig the core admin recover process.
      That means every update request will send the core admin recover request.
      (see the code DistributedUpdateProcessor.java doFinish())

      The terrible thing is CoreAdminHandler will start a new thread to publish the recover status and start recovery. Threads increase very quickly, and stack OOM , Overseer can't handle a lot of status update , zookeeper node for /overseer/queue/qn-0000125553 increase more than 40 thousand in two minutes.

      At the last zookeeper crash.
      The worse thing is queue has too much nodes in the zookeeper, the cluster can't publish the right status because only one overseer work, I have to start three threads to clear the queue nodes. The cluster doesn't work normal near 30 minutes...

        Attachments

        1. patch-6056.txt
          3 kB
          Raintung Li

          Issue Links

            Activity

              People

              • Assignee:
                shalinmangar Shalin Shekhar Mangar
                Reporter:
                raintung.li Raintung Li
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: