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

Race condition in ConcurrentUpdateSolrServer

    XMLWordPrintableJSON

Details

    Description

      Possibly related to SOLR-2308, we are seeing a Queue Full error message when issuing writes to Solr Cloud

      Each Update has 200 documents, and a commit is issued after 2000 documents have been added.

      The writes are spread out to all the servers in the cloud (2 in this case) and following is the stack trace from Solr:

      <?xml version="1.0" encoding="UTF-8"?>
      <response>
      <lst name="responseHeader"><int name="status">500</int><int name="QTime">101</int></lst><lst name="error"><str name="msg">Queue full</str><str name="t
      race">java.lang.IllegalStateException: Queue full
              at java.util.AbstractQueue.add(Unknown Source)
              at org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer$Runner$1.writeTo(ConcurrentUpdateSolrServer.java:181)
              at org.apache.http.entity.EntityTemplate.writeTo(EntityTemplate.java:72)
              at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:98)
              at org.apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:108)
              at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:122)
              at org.apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:271)
              at org.apache.http.impl.conn.ManagedClientConnectionImpl.sendRequestEntity(ManagedClientConnectionImpl.java:197)
              at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:257)
              at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
              at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)
              at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)
              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
              at org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer$Runner.run(ConcurrentUpdateSolrServer.java:232)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
      </str><int name="code">500</int></lst>
      </response>
      

      Attachments

        1. SOLR-5850.patch
          2 kB
          Ishan Chattopadhyaya
        2. SOLR-5850.patch
          2 kB
          Ishan Chattopadhyaya
        3. SOLR-5850.patch
          2 kB
          Ishan Chattopadhyaya
        4. SOLR-5850.patch
          2 kB
          Ishan Chattopadhyaya

        Issue Links

          Activity

            People

              thelabdude Timothy Potter
              ddhutia Devansh Dhutia
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 168h
                  168h
                  Remaining:
                  Remaining Estimate - 168h
                  168h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified