SOLR-14198: Nullpointer exception in AuditEvent with AuthorizationContext (#1192)

(cherry picked from commit 75c64089a1)
This commit is contained in:
Jan Høydahl 2020-01-22 21:39:43 +01:00
parent 96863e54e7
commit 1f2212c8d8
2 changed files with 12 additions and 8 deletions

View File

@ -104,7 +104,7 @@ Improvements
* SOLR-14131: Add maxQueryLength option to DirectSolrSpellchecker. (Andy Webb via Bruno Roustant) * SOLR-14131: Add maxQueryLength option to DirectSolrSpellchecker. (Andy Webb via Bruno Roustant)
* SOLR-13808: filter in BoolQParser and {"bool":{"filter":..}} in Query DSL are cached by default * SOLR-13808: filter in BoolQParser and {"bool":{"filter":..}} in Query DSL are cached by default
(Mikhail Khludnev) (Mikhail Khludnev)
* SOLR-14129: Reuse Jackson ObjectMapper in AuditLoggerPlugin (janhoy) * SOLR-14129: Reuse Jackson ObjectMapper in AuditLoggerPlugin (janhoy)
@ -137,6 +137,10 @@ Bug Fixes
* SOLR-13089: Fix lsof edge cases in the solr CLI script (Martijn Koster via janhoy) * SOLR-13089: Fix lsof edge cases in the solr CLI script (Martijn Koster via janhoy)
* SOLR-14198: Nullpointer exception in AuditEvent when initialized from AuthorizationContext (janhoy)
* SOLR-6613: TextField.analyzeMultiTerm does not throw an exception when Analyzer returns no terms. (Bruno Roustant)
* SOLR-14192: Race condition between SchemaManager and ZkIndexSchemaReader. (ab) * SOLR-14192: Race condition between SchemaManager and ZkIndexSchemaReader. (ab)
* SOLR-12859: Fixed DocExpirationUpdateProcessorFactory to work with BasicAuth and other auth plugins * SOLR-12859: Fixed DocExpirationUpdateProcessorFactory to work with BasicAuth and other auth plugins
@ -274,7 +278,7 @@ New Features
* SOLR-13912: Add 'countvals' aggregation in JSON FacetModule (hossman, Munendra S N) * SOLR-13912: Add 'countvals' aggregation in JSON FacetModule (hossman, Munendra S N)
* SOLR-12217: Support shards.preference in SolrJ for single shard collections. The parameter * SOLR-12217: Support shards.preference in SolrJ for single shard collections. The parameter
is now used by the CloudSolrClient and Streaming Expressions. (Houston Putman, Tomas Fernandez-Lobbe) is now used by the CloudSolrClient and Streaming Expressions. (Houston Putman, Tomas Fernandez-Lobbe)
* SOLR-14043: Allow the precision Stream Evaluator to operate on matrices (Joel bernstein) * SOLR-14043: Allow the precision Stream Evaluator to operate on matrices (Joel bernstein)
@ -317,7 +321,7 @@ Improvements
* SOLR-13957: Add sensible defaults for the facet, random, facet2D, timeseries, stats * SOLR-13957: Add sensible defaults for the facet, random, facet2D, timeseries, stats
and update Streaming Expressions (Joel Bernstein) and update Streaming Expressions (Joel Bernstein)
* SOLR-13904: Analytic component abandons requests exceedig a limit passed via timeAllowed parameter. * SOLR-13904: Analytic component abandons requests exceedig a limit passed via timeAllowed parameter.
(Houston Putman, Mikhail Khludnev). (Houston Putman, Mikhail Khludnev).
* SOLR-13970: Fail the request when collapsing or expand is used with Grouping. (Erick Erickson, Joel Bernstein, Munendra S N) * SOLR-13970: Fail the request when collapsing or expand is used with Grouping. (Erick Erickson, Joel Bernstein, Munendra S N)
@ -389,8 +393,6 @@ Bug Fixes
affects splits triggered by the autoscale framework, which use async mode. affects splits triggered by the autoscale framework, which use async mode.
(Megan Carey, Andy Vuong, Bilal Waheed, Ilan Ginzburg, yonik) (Megan Carey, Andy Vuong, Bilal Waheed, Ilan Ginzburg, yonik)
* SOLR-6613: TextField.analyzeMultiTerm does not throw an exception when Analyzer returns no terms. (Bruno Roustant)
Other Changes Other Changes
--------------------- ---------------------

View File

@ -170,9 +170,11 @@ public class AuditEvent {
.stream().map(r -> r.collectionName).collect(Collectors.toList()); .stream().map(r -> r.collectionName).collect(Collectors.toList());
setResource(authorizationContext.getResource()); setResource(authorizationContext.getResource());
this.requestType = RequestType.convertType(authorizationContext.getRequestType()); this.requestType = RequestType.convertType(authorizationContext.getRequestType());
authorizationContext.getParams().forEach(p -> { if (authorizationContext.getParams() != null) {
this.solrParams.put(p.getKey(), Arrays.asList(p.getValue())); authorizationContext.getParams().forEach(p -> {
}); this.solrParams.put(p.getKey(), Arrays.asList(p.getValue()));
});
}
} }
/** /**