Skip to content

Commit 6ac2bd0

Browse files
committed
Remove use of AbstractComponent in security
This change removes the use of AbstractComponent in the security module. The classes now declare their own loggers. Relates elastic#34488
1 parent eec357e commit 6ac2bd0

18 files changed

+69
-41
lines changed

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/filter/SecurityActionFilter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
*/
66
package org.elasticsearch.xpack.security.action.filter;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.elasticsearch.ElasticsearchException;
911
import org.elasticsearch.Version;
1012
import org.elasticsearch.action.ActionListener;
@@ -18,7 +20,6 @@
1820
import org.elasticsearch.action.support.ActionFilterChain;
1921
import org.elasticsearch.action.support.ContextPreservingActionListener;
2022
import org.elasticsearch.action.support.DestructiveOperations;
21-
import org.elasticsearch.common.component.AbstractComponent;
2223
import org.elasticsearch.common.util.concurrent.ThreadContext;
2324
import org.elasticsearch.license.LicenseUtils;
2425
import org.elasticsearch.license.XPackLicenseState;
@@ -40,10 +41,11 @@
4041
import java.util.Set;
4142
import java.util.function.Predicate;
4243

43-
public class SecurityActionFilter extends AbstractComponent implements ActionFilter {
44+
public class SecurityActionFilter implements ActionFilter {
4445

4546
private static final Predicate<String> LICENSE_EXPIRATION_ACTION_MATCHER = HealthAndStatsPrivilege.INSTANCE.predicate();
4647
private static final Predicate<String> SECURITY_ACTION_MATCHER = Automatons.predicate("cluster:admin/xpack/security*");
48+
private static final Logger logger = LogManager.getLogger(SecurityActionFilter.class);
4749

4850
private final AuthenticationService authcService;
4951
private final AuthorizationService authzService;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/interceptor/BulkShardRequestInterceptor.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
*/
66
package org.elasticsearch.xpack.security.action.interceptor;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.elasticsearch.ElasticsearchSecurityException;
911
import org.elasticsearch.action.bulk.BulkItemRequest;
1012
import org.elasticsearch.action.bulk.BulkShardRequest;
1113
import org.elasticsearch.action.update.UpdateRequest;
12-
import org.elasticsearch.common.component.AbstractComponent;
1314
import org.elasticsearch.common.util.concurrent.ThreadContext;
1415
import org.elasticsearch.license.XPackLicenseState;
1516
import org.elasticsearch.rest.RestStatus;
@@ -23,7 +24,9 @@
2324
/**
2425
* Similar to {@link UpdateRequestInterceptor}, but checks if there are update requests embedded in a bulk request.
2526
*/
26-
public class BulkShardRequestInterceptor extends AbstractComponent implements RequestInterceptor<BulkShardRequest> {
27+
public class BulkShardRequestInterceptor implements RequestInterceptor<BulkShardRequest> {
28+
29+
private static final Logger logger = LogManager.getLogger(BulkShardRequestInterceptor.class);
2730

2831
private final ThreadContext threadContext;
2932
private final XPackLicenseState licenseState;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/interceptor/FieldAndDocumentLevelSecurityRequestInterceptor.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
*/
66
package org.elasticsearch.xpack.security.action.interceptor;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.elasticsearch.action.IndicesRequest;
9-
import org.elasticsearch.common.component.AbstractComponent;
1011
import org.elasticsearch.common.util.concurrent.ThreadContext;
1112
import org.elasticsearch.license.XPackLicenseState;
1213
import org.elasticsearch.xpack.core.security.authc.Authentication;
@@ -18,15 +19,17 @@
1819
* Base class for interceptors that disables features when field level security is configured for indices a request
1920
* is going to execute on.
2021
*/
21-
abstract class FieldAndDocumentLevelSecurityRequestInterceptor<Request extends IndicesRequest> extends AbstractComponent implements
22+
abstract class FieldAndDocumentLevelSecurityRequestInterceptor<Request extends IndicesRequest> implements
2223
RequestInterceptor<Request> {
2324

2425
private final ThreadContext threadContext;
2526
private final XPackLicenseState licenseState;
27+
private final Logger logger;
2628

2729
FieldAndDocumentLevelSecurityRequestInterceptor(ThreadContext threadContext, XPackLicenseState licenseState) {
2830
this.threadContext = threadContext;
2931
this.licenseState = licenseState;
32+
this.logger = LogManager.getLogger(getClass());
3033
}
3134

3235
@Override

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/interceptor/ResizeRequestInterceptor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.apache.lucene.util.automaton.Operations;
1010
import org.elasticsearch.ElasticsearchSecurityException;
1111
import org.elasticsearch.action.admin.indices.shrink.ResizeRequest;
12-
import org.elasticsearch.common.component.AbstractComponent;
1312
import org.elasticsearch.common.util.concurrent.ThreadContext;
1413
import org.elasticsearch.license.XPackLicenseState;
1514
import org.elasticsearch.rest.RestStatus;
@@ -22,7 +21,7 @@
2221
import org.elasticsearch.xpack.core.security.support.Exceptions;
2322
import org.elasticsearch.xpack.security.audit.AuditTrailService;
2423

25-
public final class ResizeRequestInterceptor extends AbstractComponent implements RequestInterceptor<ResizeRequest> {
24+
public final class ResizeRequestInterceptor implements RequestInterceptor<ResizeRequest> {
2625

2726
private final ThreadContext threadContext;
2827
private final XPackLicenseState licenseState;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/audit/AuditTrailService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66
package org.elasticsearch.xpack.security.audit;
77

8-
import org.elasticsearch.common.component.AbstractComponent;
98
import org.elasticsearch.license.XPackLicenseState;
109
import org.elasticsearch.rest.RestRequest;
1110
import org.elasticsearch.transport.TransportMessage;
@@ -18,7 +17,7 @@
1817
import java.util.Collections;
1918
import java.util.List;
2019

21-
public class AuditTrailService extends AbstractComponent implements AuditTrail {
20+
public class AuditTrailService implements AuditTrail {
2221

2322
private final XPackLicenseState licenseState;
2423
private final List<AuditTrail> auditTrails;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/audit/index/IndexAuditTrail.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66
package org.elasticsearch.xpack.security.audit.index;
77

8+
import org.apache.logging.log4j.LogManager;
89
import org.apache.logging.log4j.Logger;
910
import org.apache.logging.log4j.message.ParameterizedMessage;
1011
import org.elasticsearch.ElasticsearchException;
@@ -29,7 +30,6 @@
2930
import org.elasticsearch.common.Nullable;
3031
import org.elasticsearch.common.Strings;
3132
import org.elasticsearch.common.collect.Tuple;
32-
import org.elasticsearch.common.component.AbstractComponent;
3333
import org.elasticsearch.common.component.LifecycleListener;
3434
import org.elasticsearch.common.network.NetworkAddress;
3535
import org.elasticsearch.common.settings.Setting;
@@ -113,7 +113,7 @@
113113
/**
114114
* Audit trail implementation that writes events into an index.
115115
*/
116-
public class IndexAuditTrail extends AbstractComponent implements AuditTrail, ClusterStateListener {
116+
public class IndexAuditTrail implements AuditTrail, ClusterStateListener {
117117

118118
public static final String NAME = "index";
119119
public static final String DOC_TYPE = "doc";
@@ -163,6 +163,7 @@ public class IndexAuditTrail extends AbstractComponent implements AuditTrail, Cl
163163
private static final Setting<TimeValue> FLUSH_TIMEOUT_SETTING =
164164
Setting.timeSetting(setting("audit.index.flush_interval"), DEFAULT_FLUSH_INTERVAL,
165165
TimeValue.timeValueMillis(1L), Property.NodeScope);
166+
private static final Logger logger = LogManager.getLogger(IndexAuditTrail.class);
166167

167168
private final AtomicReference<State> state = new AtomicReference<>(State.INITIALIZED);
168169
private final Settings settings;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/audit/logfile/LoggingAuditTrail.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.elasticsearch.common.Nullable;
1616
import org.elasticsearch.common.Strings;
1717
import org.elasticsearch.common.collect.MapBuilder;
18-
import org.elasticsearch.common.component.AbstractComponent;
1918
import org.elasticsearch.common.network.NetworkAddress;
2019
import org.elasticsearch.common.settings.Setting;
2120
import org.elasticsearch.common.settings.Setting.Property;
@@ -74,7 +73,7 @@
7473
import static org.elasticsearch.xpack.security.audit.AuditLevel.parse;
7574
import static org.elasticsearch.xpack.security.audit.AuditUtil.restRequestContent;
7675

77-
public class LoggingAuditTrail extends AbstractComponent implements AuditTrail, ClusterStateListener {
76+
public class LoggingAuditTrail implements AuditTrail, ClusterStateListener {
7877

7978
public static final String REST_ORIGIN_FIELD_VALUE = "rest";
8079
public static final String LOCAL_ORIGIN_FIELD_VALUE = "local_node";

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/AuthenticationService.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
*/
66
package org.elasticsearch.xpack.security.authc;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.apache.logging.log4j.message.ParameterizedMessage;
911
import org.apache.logging.log4j.util.Supplier;
1012
import org.elasticsearch.ElasticsearchSecurityException;
1113
import org.elasticsearch.action.ActionListener;
1214
import org.elasticsearch.action.support.ContextPreservingActionListener;
1315
import org.elasticsearch.common.Nullable;
1416
import org.elasticsearch.common.collect.Tuple;
15-
import org.elasticsearch.common.component.AbstractComponent;
1617
import org.elasticsearch.common.settings.Setting;
1718
import org.elasticsearch.common.settings.Settings;
1819
import org.elasticsearch.common.util.concurrent.ThreadContext;
@@ -49,7 +50,9 @@
4950
* This service also supports request level caching of authenticated users (i.e. once a user authenticated
5051
* successfully, it is set on the request context to avoid subsequent redundant authentication process)
5152
*/
52-
public class AuthenticationService extends AbstractComponent {
53+
public class AuthenticationService {
54+
55+
private static final Logger logger = LogManager.getLogger(AuthenticationService.class);
5356

5457
private final Realms realms;
5558
private final AuditTrail auditTrail;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/Realms.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@
2020
import java.util.stream.Stream;
2121
import java.util.stream.StreamSupport;
2222

23+
import org.apache.logging.log4j.LogManager;
24+
import org.apache.logging.log4j.Logger;
2325
import org.elasticsearch.action.ActionListener;
2426
import org.elasticsearch.common.collect.MapBuilder;
25-
import org.elasticsearch.common.component.AbstractComponent;
2627
import org.elasticsearch.common.settings.Settings;
2728
import org.elasticsearch.common.util.concurrent.CountDown;
2829
import org.elasticsearch.common.util.concurrent.ThreadContext;
@@ -41,7 +42,9 @@
4142
/**
4243
* Serves as a realms registry (also responsible for ordering the realms appropriately)
4344
*/
44-
public class Realms extends AbstractComponent implements Iterable<Realm> {
45+
public class Realms implements Iterable<Realm> {
46+
47+
private static final Logger logger = LogManager.getLogger(Realms.class);
4548

4649
private final Settings settings;
4750
private final Environment env;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/TokenService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
*/
66
package org.elasticsearch.xpack.security.authc;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.apache.logging.log4j.message.ParameterizedMessage;
911
import org.apache.lucene.util.BytesRef;
1012
import org.apache.lucene.util.BytesRefBuilder;
@@ -43,7 +45,6 @@
4345
import org.elasticsearch.common.cache.Cache;
4446
import org.elasticsearch.common.cache.CacheBuilder;
4547
import org.elasticsearch.common.collect.Tuple;
46-
import org.elasticsearch.common.component.AbstractComponent;
4748
import org.elasticsearch.common.hash.MessageDigests;
4849
import org.elasticsearch.common.io.stream.InputStreamStreamInput;
4950
import org.elasticsearch.common.io.stream.OutputStreamStreamOutput;
@@ -126,7 +127,7 @@
126127
* Service responsible for the creation, validation, and other management of {@link UserToken}
127128
* objects for authentication
128129
*/
129-
public final class TokenService extends AbstractComponent {
130+
public final class TokenService {
130131

131132
/**
132133
* The parameters below are used to generate the cryptographic key that is used to encrypt the
@@ -160,6 +161,7 @@ public final class TokenService extends AbstractComponent {
160161
static final int MINIMUM_BYTES = VERSION_BYTES + SALT_BYTES + IV_BYTES + 1;
161162
private static final int MINIMUM_BASE64_BYTES = Double.valueOf(Math.ceil((4 * MINIMUM_BYTES) / 3)).intValue();
162163
private static final int MAX_RETRY_ATTEMPTS = 5;
164+
private static final Logger logger = LogManager.getLogger(TokenService.class);
163165

164166
private final SecureRandom secureRandom = new SecureRandom();
165167
private final Settings settings;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/esnative/NativeUsersStore.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
*/
66
package org.elasticsearch.xpack.security.authc.esnative;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.apache.logging.log4j.message.ParameterizedMessage;
911
import org.elasticsearch.ElasticsearchException;
1012
import org.elasticsearch.ExceptionsHelper;
@@ -25,7 +27,6 @@
2527
import org.elasticsearch.common.Nullable;
2628
import org.elasticsearch.common.Strings;
2729
import org.elasticsearch.common.ValidationException;
28-
import org.elasticsearch.common.component.AbstractComponent;
2930
import org.elasticsearch.common.settings.SecureString;
3031
import org.elasticsearch.common.settings.Settings;
3132
import org.elasticsearch.common.util.concurrent.ThreadContext;
@@ -74,11 +75,12 @@
7475
* No caching is done by this class, it is handled at a higher level and no polling for changes is done by this class. Modification
7576
* operations make a best effort attempt to clear the cache on all nodes for the user that was modified.
7677
*/
77-
public class NativeUsersStore extends AbstractComponent {
78+
public class NativeUsersStore {
7879

7980
public static final String INDEX_TYPE = "doc";
8081
static final String USER_DOC_TYPE = "user";
8182
public static final String RESERVED_USER_TYPE = "reserved-user";
83+
private static final Logger logger = LogManager.getLogger(NativeUsersStore.class);
8284

8385
private final Settings settings;
8486
private final Client client;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/support/mapper/NativeRoleMappingStore.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
*/
66
package org.elasticsearch.xpack.security.authc.support.mapper;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.apache.logging.log4j.message.ParameterizedMessage;
911
import org.elasticsearch.action.ActionListener;
1012
import org.elasticsearch.action.delete.DeleteResponse;
@@ -14,7 +16,6 @@
1416
import org.elasticsearch.client.Client;
1517
import org.elasticsearch.common.CheckedBiConsumer;
1618
import org.elasticsearch.common.bytes.BytesReference;
17-
import org.elasticsearch.common.component.AbstractComponent;
1819
import org.elasticsearch.common.settings.Settings;
1920
import org.elasticsearch.common.util.concurrent.ThreadContext;
2021
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
@@ -74,8 +75,9 @@
7475
* is done by this class. Modification operations make a best effort attempt to clear the cache
7576
* on all nodes for the user that was modified.
7677
*/
77-
public class NativeRoleMappingStore extends AbstractComponent implements UserRoleMapper {
78+
public class NativeRoleMappingStore implements UserRoleMapper {
7879

80+
private static final Logger logger = LogManager.getLogger(NativeRoleMappingStore.class);
7981
static final String DOC_TYPE_FIELD = "doc_type";
8082
static final String DOC_TYPE_ROLE_MAPPING = "role-mapping";
8183

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/AuthorizationService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
*/
66
package org.elasticsearch.xpack.security.authz;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.elasticsearch.ElasticsearchSecurityException;
911
import org.elasticsearch.action.ActionListener;
1012
import org.elasticsearch.action.CompositeIndicesRequest;
@@ -30,7 +32,6 @@
3032
import org.elasticsearch.cluster.metadata.MetaData;
3133
import org.elasticsearch.cluster.service.ClusterService;
3234
import org.elasticsearch.common.collect.Tuple;
33-
import org.elasticsearch.common.component.AbstractComponent;
3435
import org.elasticsearch.common.settings.Setting;
3536
import org.elasticsearch.common.settings.Setting.Property;
3637
import org.elasticsearch.common.settings.Settings;
@@ -79,7 +80,7 @@
7980
import static org.elasticsearch.xpack.core.security.SecurityField.setting;
8081
import static org.elasticsearch.xpack.core.security.support.Exceptions.authorizationError;
8182

82-
public class AuthorizationService extends AbstractComponent {
83+
public class AuthorizationService {
8384
public static final Setting<Boolean> ANONYMOUS_AUTHORIZATION_EXCEPTION_SETTING =
8485
Setting.boolSetting(setting("authc.anonymous.authz_exception"), true, Property.NodeScope);
8586
public static final String ORIGINATING_ACTION_KEY = "_originating_action_name";
@@ -93,6 +94,7 @@ public class AuthorizationService extends AbstractComponent {
9394
private static final String INDEX_SUB_REQUEST_REPLICA = IndexAction.NAME + "[r]";
9495
private static final String DELETE_SUB_REQUEST_PRIMARY = DeleteAction.NAME + "[p]";
9596
private static final String DELETE_SUB_REQUEST_REPLICA = DeleteAction.NAME + "[r]";
97+
private static final Logger logger = LogManager.getLogger(AuthorizationService.class);
9698

9799
private final ClusterService clusterService;
98100
private final CompositeRolesStore rolesStore;

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/store/CompositeRolesStore.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
*/
66
package org.elasticsearch.xpack.security.authz.store;
77

8+
import org.apache.logging.log4j.LogManager;
9+
import org.apache.logging.log4j.Logger;
810
import org.apache.logging.log4j.message.ParameterizedMessage;
911
import org.elasticsearch.action.ActionListener;
1012
import org.elasticsearch.action.support.ContextPreservingActionListener;
@@ -14,7 +16,6 @@
1416
import org.elasticsearch.common.cache.Cache;
1517
import org.elasticsearch.common.cache.CacheBuilder;
1618
import org.elasticsearch.common.collect.Tuple;
17-
import org.elasticsearch.common.component.AbstractComponent;
1819
import org.elasticsearch.common.settings.Setting;
1920
import org.elasticsearch.common.settings.Setting.Property;
2021
import org.elasticsearch.common.settings.Settings;
@@ -64,7 +65,14 @@
6465
* A composite roles store that combines built in roles, file-based roles, and index-based roles. Checks the built in roles first, then the
6566
* file roles, and finally the index roles.
6667
*/
67-
public class CompositeRolesStore extends AbstractComponent {
68+
public class CompositeRolesStore {
69+
70+
71+
private static final Setting<Integer> CACHE_SIZE_SETTING =
72+
Setting.intSetting("xpack.security.authz.store.roles.cache.max_size", 10000, Property.NodeScope);
73+
private static final Setting<Integer> NEGATIVE_LOOKUP_CACHE_SIZE_SETTING =
74+
Setting.intSetting("xpack.security.authz.store.roles.negative_lookup_cache.max_size", 10000, Property.NodeScope);
75+
private static final Logger logger = LogManager.getLogger(CompositeRolesStore.class);
6876

6977
// the lock is used in an odd manner; when iterating over the cache we cannot have modifiers other than deletes using
7078
// the iterator but when not iterating we can modify the cache without external locking. When making normal modifications to the cache
@@ -79,11 +87,6 @@ public class CompositeRolesStore extends AbstractComponent {
7987
writeLock = new ReleasableLock(iterationLock.writeLock());
8088
}
8189

82-
private static final Setting<Integer> CACHE_SIZE_SETTING =
83-
Setting.intSetting("xpack.security.authz.store.roles.cache.max_size", 10000, Property.NodeScope);
84-
private static final Setting<Integer> NEGATIVE_LOOKUP_CACHE_SIZE_SETTING =
85-
Setting.intSetting("xpack.security.authz.store.roles.negative_lookup_cache.max_size", 10000, Property.NodeScope);
86-
8790
private final FileRolesStore fileRolesStore;
8891
private final NativeRolesStore nativeRolesStore;
8992
private final NativePrivilegeStore privilegeStore;

0 commit comments

Comments
 (0)