You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2019/06/12 10:14:41 UTC

[lucene-solr] branch branch_8_1 updated: SOLR-13526: Backport the fix introduced by SOLR-13434, basically set REQ_PRINCIPAL_KEY before calling onQueued() listener

This is an automated email from the ASF dual-hosted git repository.

datcm pushed a commit to branch branch_8_1
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/branch_8_1 by this push:
     new 9a63222  SOLR-13526: Backport the fix introduced by SOLR-13434, basically set REQ_PRINCIPAL_KEY before calling onQueued() listener
9a63222 is described below

commit 9a63222926676f81be0f1727ab59b8844c950d6e
Author: Cao Manh Dat <da...@apache.org>
AuthorDate: Wed Jun 12 11:14:29 2019 +0100

    SOLR-13526: Backport the fix introduced by SOLR-13434, basically set REQ_PRINCIPAL_KEY before calling onQueued() listener
---
 .../solr/security/JWTAuthPluginIntegrationTest.java       | 12 ++++++------
 .../apache/solr/client/solrj/impl/Http2SolrClient.java    | 15 +++++++--------
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java
index 3466ac4..d5cae8a 100644
--- a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java
@@ -173,23 +173,23 @@ public class JWTAuthPluginIntegrationTest extends SolrCloudAuthTestCase {
     assertPkiAuthMetricsMinimums(4, 4, 0, 0, 0, 0);
     Pair<String,Integer> result = post(baseUrl + "/" + COLLECTION + "/update?commit=true", "[{\"id\" : \"1\"}, {\"id\": \"2\"}, {\"id\": \"3\"}]", jwtTestToken);
     assertEquals(Integer.valueOf(200), result.second());
-    assertAuthMetricsMinimums(3, 3, 0, 0, 0, 0);
-    assertPkiAuthMetricsMinimums(5, 5, 0, 0, 0, 0);
+    assertAuthMetricsMinimums(4, 4, 0, 0, 0, 0);
+    assertPkiAuthMetricsMinimums(4, 4, 0, 0, 0, 0);
     
     // First a non distributed query
     result = get(baseUrl + "/" + COLLECTION + "/query?q=*:*&distrib=false", jwtTestToken);
     assertEquals(Integer.valueOf(200), result.second());
-    assertAuthMetricsMinimums(4, 4, 0, 0, 0, 0);
+    assertAuthMetricsMinimums(5, 5, 0, 0, 0, 0);
 
     // Now do a distributed query, using JWTAuth for inter-node
     result = get(baseUrl + "/" + COLLECTION + "/query?q=*:*", jwtTestToken);
     assertEquals(Integer.valueOf(200), result.second());
-    assertAuthMetricsMinimums(9, 9, 0, 0, 0, 0);
+    assertAuthMetricsMinimums(10, 10, 0, 0, 0, 0);
     
     // Delete
     assertEquals(200, get(baseUrl + "/admin/collections?action=DELETE&name=" + COLLECTION, jwtTestToken).second().intValue());
-    assertAuthMetricsMinimums(10, 10, 0, 0, 0, 0);
-    assertPkiAuthMetricsMinimums(7, 7, 0, 0, 0, 0);
+    assertAuthMetricsMinimums(11, 11, 0, 0, 0, 0);
+    assertPkiAuthMetricsMinimums(6, 6, 0, 0, 0, 0);
   }
 
   private void getAndFail(String url, String token) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
index 5597f04..899bcbe 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
@@ -317,10 +317,9 @@ public class Http2SolrClient extends SolrClient {
         .newRequest(basePath + "update"
             + requestParams.toQueryString())
         .method(HttpMethod.POST)
-        .header("User-Agent", HttpSolrClient.AGENT)
-        .header("Content-Type", contentType)
+        .header(HttpHeader.CONTENT_TYPE, contentType)
         .content(provider);
-    setListeners(updateRequest, postRequest);
+    decorateRequest(postRequest, updateRequest);
     InputStreamResponseListener responseListener = new InputStreamResponseListener();
     postRequest.send(responseListener);
 
@@ -452,16 +451,16 @@ public class Http2SolrClient extends SolrClient {
   private Request makeRequest(SolrRequest solrRequest, String collection)
       throws SolrServerException, IOException {
     Request req = createRequest(solrRequest, collection);
+    decorateRequest(req, solrRequest);
+    return req;
+  }
+
+  private void decorateRequest(Request req, SolrRequest solrRequest) {
     req.header(HttpHeader.ACCEPT_ENCODING, null);
-    setListeners(solrRequest, req);
     if (solrRequest.getUserPrincipal() != null) {
       req.attribute(REQ_PRINCIPAL_KEY, solrRequest.getUserPrincipal());
     }
 
-    return req;
-  }
-
-  private void setListeners(SolrRequest solrRequest, Request req) {
     setBasicAuthHeader(solrRequest, req);
     for (HttpListenerFactory factory : listenerFactory) {
       HttpListenerFactory.RequestResponseListener listener = factory.get();