mirror of
https://github.com/apache/lucene.git
synced 2025-02-09 03:25:15 +00:00
SOLR-13700: Fixed a race condition when initializing metrics for new security plugins on security.json change
This commit is contained in:
parent
54ab07718a
commit
251259d5ab
@ -151,6 +151,8 @@ Bug Fixes
|
|||||||
|
|
||||||
* SOLR-13694: IndexSizeEstimator NullPointerException. (ab, hossman)
|
* SOLR-13694: IndexSizeEstimator NullPointerException. (ab, hossman)
|
||||||
|
|
||||||
|
* SOLR-13700: Fixed a race condition when initializing metrics for new security plugins on security.json change (hossman)
|
||||||
|
|
||||||
Other Changes
|
Other Changes
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
@ -395,6 +395,7 @@ public class CoreContainer {
|
|||||||
getResourceLoader().newInstance(klas, AuditLoggerPlugin.class));
|
getResourceLoader().newInstance(klas, AuditLoggerPlugin.class));
|
||||||
|
|
||||||
newAuditloggerPlugin.plugin.init(auditConf);
|
newAuditloggerPlugin.plugin.init(auditConf);
|
||||||
|
newAuditloggerPlugin.plugin.initializeMetrics(metricManager, SolrInfoBean.Group.node.toString(), metricTag, "/auditlogging");
|
||||||
} else {
|
} else {
|
||||||
log.debug("Security conf doesn't exist. Skipping setup for audit logging module.");
|
log.debug("Security conf doesn't exist. Skipping setup for audit logging module.");
|
||||||
}
|
}
|
||||||
@ -451,6 +452,8 @@ public class CoreContainer {
|
|||||||
if (authenticationPlugin != null) {
|
if (authenticationPlugin != null) {
|
||||||
authenticationPlugin.plugin.init(authenticationConfig);
|
authenticationPlugin.plugin.init(authenticationConfig);
|
||||||
setupHttpClientForAuthPlugin(authenticationPlugin.plugin);
|
setupHttpClientForAuthPlugin(authenticationPlugin.plugin);
|
||||||
|
authenticationPlugin.plugin.initializeMetrics
|
||||||
|
(metricManager, SolrInfoBean.Group.node.toString(), metricTag, "/authentication");
|
||||||
}
|
}
|
||||||
this.authenticationPlugin = authenticationPlugin;
|
this.authenticationPlugin = authenticationPlugin;
|
||||||
try {
|
try {
|
||||||
@ -628,6 +631,7 @@ public class CoreContainer {
|
|||||||
getZkController().getZkStateReader().registerClusterPropertiesListener(clusterPropertiesListener);
|
getZkController().getZkStateReader().registerClusterPropertiesListener(clusterPropertiesListener);
|
||||||
pkiAuthenticationPlugin = new PKIAuthenticationPlugin(this, zkSys.getZkController().getNodeName(),
|
pkiAuthenticationPlugin = new PKIAuthenticationPlugin(this, zkSys.getZkController().getNodeName(),
|
||||||
(PublicKeyHandler) containerHandlers.get(PublicKeyHandler.PATH));
|
(PublicKeyHandler) containerHandlers.get(PublicKeyHandler.PATH));
|
||||||
|
pkiAuthenticationPlugin.initializeMetrics(metricManager, SolrInfoBean.Group.node.toString(), metricTag, "/authentication/pki");
|
||||||
TracerConfigurator.loadTracer(loader, cfg.getTracerConfiguratorPluginInfo(), getZkController().getZkStateReader());
|
TracerConfigurator.loadTracer(loader, cfg.getTracerConfiguratorPluginInfo(), getZkController().getZkStateReader());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -871,16 +875,7 @@ public class CoreContainer {
|
|||||||
SecurityConfHandler.SecurityConfig securityConfig = securityConfHandler.getSecurityConfig(false);
|
SecurityConfHandler.SecurityConfig securityConfig = securityConfHandler.getSecurityConfig(false);
|
||||||
initializeAuthorizationPlugin((Map<String, Object>) securityConfig.getData().get("authorization"));
|
initializeAuthorizationPlugin((Map<String, Object>) securityConfig.getData().get("authorization"));
|
||||||
initializeAuthenticationPlugin((Map<String, Object>) securityConfig.getData().get("authentication"));
|
initializeAuthenticationPlugin((Map<String, Object>) securityConfig.getData().get("authentication"));
|
||||||
if (authenticationPlugin != null) {
|
|
||||||
authenticationPlugin.plugin.initializeMetrics(metricManager, SolrInfoBean.Group.node.toString(), metricTag, "/authentication");
|
|
||||||
}
|
|
||||||
if (pkiAuthenticationPlugin != null && pkiAuthenticationPlugin.getMetricRegistry() == null) {
|
|
||||||
pkiAuthenticationPlugin.initializeMetrics(metricManager, SolrInfoBean.Group.node.toString(), metricTag, "/authentication/pki");
|
|
||||||
}
|
|
||||||
initializeAuditloggerPlugin((Map<String, Object>) securityConfig.getData().get("auditlogging"));
|
initializeAuditloggerPlugin((Map<String, Object>) securityConfig.getData().get("auditlogging"));
|
||||||
if (auditloggerPlugin != null) {
|
|
||||||
auditloggerPlugin.plugin.initializeMetrics(metricManager, SolrInfoBean.Group.node.toString(), metricTag, "/auditlogging");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void checkForDuplicateCoreNames(List<CoreDescriptor> cds) {
|
private static void checkForDuplicateCoreNames(List<CoreDescriptor> cds) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user