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();