Colvin Cowie created SOLR-13566:
-----------------------------------

             Summary: REINDEXCOLLECTION does not work with (basic) 
authentication
                 Key: SOLR-13566
                 URL: https://issues.apache.org/jira/browse/SOLR-13566
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
    Affects Versions: 8.1.1
            Reporter: Colvin Cowie
         Attachments: responses.txt, security.json, solr.log

The REINDEXCOLLECTION command introduced in SOLR-11127

 
I'm on the Solr 8.1 branch off commit f26388d034fe5eadca7416aa63b509b8db2c7688 
so I have the authentication fixes from SOLR-13510 (intermittent 401s for 
internode requests)
 
When trying to use the new REINDEXCOLLECTION command with basic auth enabled, 
the daemon stream fails with repeated 401s when trying to access the target 
collection.
 
This might be the same problem as SOLR-13472, except it applies even with a 
single node, and this doesn't require role based configuration.
 
Repro: I added a reindex request in BasicAuthIntegrationTest and it is 
reproducible in there... I don't know what effect it should have on the auth 
metrics, if it were working correctly, so I don't know how to update the test 
properly. But you can add the request towards the end of 
org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth()
 
      _CollectionAdminRequest.ReindexCollection reindexReq = 
CollectionAdminRequest.reindexCollection(COLLECTION);_
      _reindexReq.setBasicAuthCredentials("harry", "HarryIsUberCool");_
      _cluster.getSolrClient().request(reindexReq, COLLECTION);_
 
Manual Repro:
run bin/solr -e cloud
Choose 1 node / 1 shard / 1 replica
In browser GET 
[http://localhost:8983/solr/admin/collections?action=REINDEXCOLLECTION&name=gettingstarted]
 will succeed
Enable security: server\scripts\cloud-scripts\zkcli -zkhost localhost:9983 -cmd 
putfile /security.json <path to file with this>
 
{
    "authentication": {
        "blockUnknown": true,
        "class": "solr.BasicAuthPlugin",
        "credentials": {
            "solradmin": "fskh17INKrOTSRCJ8HkamA0L6Uiq1dSMgn4OVy8htME= 
/Q4VgOkwVlP6AMVY+ML+IuodbfV81WEfZ3lFb390bws="
        }
    }
}
 
 
In browser authenticate (as solradmin : solradmin) and GET 
[http://localhost:8983/solr/admin/collections?action=REINDEXCOLLECTION&name=gettingstarted]
 will time out after 180 seconds
 
The solr log will show repeated 401s
 
Setting "forwardCredentials" : true in the security.json does not appear to 
change the outcome.
 
 
The daemon stream should probably be using PKI auth for the internal request.
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to