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

Potential NPE in CloudSolrClient when reading stale alias

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5, 7.0
    • Fix Version/s: 6.4.2, 6.5, 7.0
    • Component/s: clients - java, SolrJ
    • Security Level: Public (Default Security Level. Issues are Public)
    • Labels:
      None

      Description

      The CloudSolrClient raises a NullPointerException when CloudSolrClient::add is invoked and pointed to an alias which references a collection which does not exist anymore.

      java.lang.NullPointerException
          at __randomizedtesting.SeedInfo.seed([1D00539A964E5C5D:D7D145363AD5CCA]:0)
          at org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:1078)
          at org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:1042)
          at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:160)
          at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:106)
          at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:71)
          at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:85)
      

      This is a rather unexpected since the CloudSolrClient usually raises a SolrException containing a descriptive error message (e.g. "Collection not found: xyz") when a collection cannot be resolved.

      In general this error condition could be triggered also by other edge cases since CloudSolrClient::getDocCollection might return null but the code following that invocation is not guarded against null values.

              // track the version of state we're using on the client side using the _stateVer_ param
              DocCollection coll = getDocCollection(requestedCollection, null);
              int collVer = coll.getZNodeVersion();
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tomasflobbe Tomás Fernández Löbbe
                Reporter:
                jwoschitz Janosch Woschitz
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: