Skip to content

Commit b37ebd1

Browse files
authored
Prepare the codebase for new Auditor subclasses (#45716) (#45731)
1 parent 80dd0a0 commit b37ebd1

File tree

37 files changed

+155
-138
lines changed

37 files changed

+155
-138
lines changed

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/common/notifications/Auditor.java renamed to x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/common/notifications/AbstractAuditor.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@
2121
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
2222
import static org.elasticsearch.xpack.core.ClientHelper.executeAsyncWithOrigin;
2323

24-
public class Auditor<T extends AbstractAuditMessage> {
24+
public abstract class AbstractAuditor<T extends AbstractAuditMessage> {
2525

26-
private static final Logger logger = LogManager.getLogger(Auditor.class);
26+
private static final Logger logger = LogManager.getLogger(AbstractAuditor.class);
2727
private final Client client;
2828
private final String nodeName;
2929
private final String auditIndex;
3030
private final String executionOrigin;
3131
private final AbstractAuditMessage.AbstractBuilder<T> messageBuilder;
3232

33-
public Auditor(Client client,
34-
String nodeName,
35-
String auditIndex,
36-
String executionOrigin,
37-
AbstractAuditMessage.AbstractBuilder<T> messageBuilder) {
33+
public AbstractAuditor(Client client,
34+
String nodeName,
35+
String auditIndex,
36+
String executionOrigin,
37+
AbstractAuditMessage.AbstractBuilder<T> messageBuilder) {
3838
this.client = Objects.requireNonNull(client);
3939
this.nodeName = Objects.requireNonNull(nodeName);
4040
this.auditIndex = auditIndex;

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/persistence/ElasticsearchMappings.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
import org.elasticsearch.xpack.core.ml.job.results.ModelPlot;
5959
import org.elasticsearch.xpack.core.ml.job.results.ReservedFieldNames;
6060
import org.elasticsearch.xpack.core.ml.job.results.Result;
61-
import org.elasticsearch.xpack.core.ml.notifications.AuditMessage;
61+
import org.elasticsearch.xpack.core.ml.notifications.AnomalyDetectionAuditMessage;
6262
import org.elasticsearch.xpack.core.ml.utils.ExponentialAverageCalculationContext;
6363

6464
import java.io.IOException;
@@ -1122,21 +1122,21 @@ public static XContentBuilder auditMessageMapping() throws IOException {
11221122
.startObject(Job.ID.getPreferredName())
11231123
.field(TYPE, KEYWORD)
11241124
.endObject()
1125-
.startObject(AuditMessage.LEVEL.getPreferredName())
1125+
.startObject(AnomalyDetectionAuditMessage.LEVEL.getPreferredName())
11261126
.field(TYPE, KEYWORD)
11271127
.endObject()
1128-
.startObject(AuditMessage.MESSAGE.getPreferredName())
1128+
.startObject(AnomalyDetectionAuditMessage.MESSAGE.getPreferredName())
11291129
.field(TYPE, TEXT)
11301130
.startObject(FIELDS)
11311131
.startObject(RAW)
11321132
.field(TYPE, KEYWORD)
11331133
.endObject()
11341134
.endObject()
11351135
.endObject()
1136-
.startObject(AuditMessage.TIMESTAMP.getPreferredName())
1136+
.startObject(AnomalyDetectionAuditMessage.TIMESTAMP.getPreferredName())
11371137
.field(TYPE, DATE)
11381138
.endObject()
1139-
.startObject(AuditMessage.NODE_NAME.getPreferredName())
1139+
.startObject(AnomalyDetectionAuditMessage.NODE_NAME.getPreferredName())
11401140
.field(TYPE, KEYWORD)
11411141
.endObject()
11421142
.endObject()

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/notifications/AuditMessage.java renamed to x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/notifications/AnomalyDetectionAuditMessage.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
import static org.elasticsearch.common.xcontent.ConstructingObjectParser.constructorArg;
1919
import static org.elasticsearch.common.xcontent.ConstructingObjectParser.optionalConstructorArg;
2020

21-
public class AuditMessage extends AbstractAuditMessage {
21+
public class AnomalyDetectionAuditMessage extends AbstractAuditMessage {
2222

23-
public static final ConstructingObjectParser<AuditMessage, Void> PARSER = new ConstructingObjectParser<>(
23+
public static final ConstructingObjectParser<AnomalyDetectionAuditMessage, Void> PARSER = new ConstructingObjectParser<>(
2424
"ml_audit_message",
2525
true,
26-
a -> new AuditMessage((String)a[0], (String)a[1], (Level)a[2], (Date)a[3], (String)a[4]));
26+
a -> new AnomalyDetectionAuditMessage((String)a[0], (String)a[1], (Level)a[2], (Date)a[3], (String)a[4]));
2727

2828
static {
2929
PARSER.declareString(optionalConstructorArg(), Job.ID);
@@ -41,11 +41,11 @@ public class AuditMessage extends AbstractAuditMessage {
4141
PARSER.declareString(optionalConstructorArg(), NODE_NAME);
4242
}
4343

44-
public AuditMessage(String resourceId, String message, Level level, String nodeName) {
44+
public AnomalyDetectionAuditMessage(String resourceId, String message, Level level, String nodeName) {
4545
super(resourceId, message, level, nodeName);
4646
}
4747

48-
protected AuditMessage(String resourceId, String message, Level level, Date timestamp, String nodeName) {
48+
protected AnomalyDetectionAuditMessage(String resourceId, String message, Level level, Date timestamp, String nodeName) {
4949
super(resourceId, message, level, timestamp, nodeName);
5050
}
5151

@@ -54,11 +54,11 @@ protected String getResourceField() {
5454
return Job.ID.getPreferredName();
5555
}
5656

57-
public static AbstractBuilder<AuditMessage> builder() {
58-
return new AbstractBuilder<AuditMessage>() {
57+
public static AbstractBuilder<AnomalyDetectionAuditMessage> builder() {
58+
return new AbstractBuilder<AnomalyDetectionAuditMessage>() {
5959
@Override
60-
protected AuditMessage newMessage(Level level, String resourceId, String message, String nodeName) {
61-
return new AuditMessage(resourceId, message, level, nodeName);
60+
protected AnomalyDetectionAuditMessage newMessage(Level level, String resourceId, String message, String nodeName) {
61+
return new AnomalyDetectionAuditMessage(resourceId, message, level, nodeName);
6262
}
6363
};
6464
}

x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/common/notifications/AuditorTests.java renamed to x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/common/notifications/AbstractAuditorTests.java

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@
2828
import static org.mockito.Mockito.verify;
2929
import static org.mockito.Mockito.when;
3030

31-
public class AuditorTests extends ESTestCase {
32-
private Client client;
33-
private ArgumentCaptor<IndexRequest> indexRequestCaptor;
31+
public class AbstractAuditorTests extends ESTestCase {
32+
33+
private static final String TEST_NODE_NAME = "node_1";
3434
private static final String TEST_ORIGIN = "test_origin";
3535
private static final String TEST_INDEX = "test_index";
36-
private static final AbstractAuditMessage.AbstractBuilder<AbstractAuditMessageTests.TestAuditMessage> builder =
37-
AbstractAuditMessageTests.TestAuditMessage.newBuilder();
38-
36+
37+
private Client client;
38+
private ArgumentCaptor<IndexRequest> indexRequestCaptor;
39+
3940
@Before
4041
public void setUpMocks() {
4142
client = mock(Client.class);
@@ -47,7 +48,7 @@ public void setUpMocks() {
4748
}
4849

4950
public void testInfo() throws IOException {
50-
Auditor<AbstractAuditMessageTests.TestAuditMessage> auditor = new Auditor<>(client, "node_1", TEST_INDEX, TEST_ORIGIN, builder);
51+
AbstractAuditor<AbstractAuditMessageTests.TestAuditMessage> auditor = new TestAuditor(client);
5152
auditor.info("foo", "Here is my info");
5253

5354
verify(client).index(indexRequestCaptor.capture(), any());
@@ -61,7 +62,7 @@ public void testInfo() throws IOException {
6162
}
6263

6364
public void testWarning() throws IOException {
64-
Auditor<AbstractAuditMessageTests.TestAuditMessage> auditor = new Auditor<>(client, "node_1", TEST_INDEX, TEST_ORIGIN, builder);
65+
AbstractAuditor<AbstractAuditMessageTests.TestAuditMessage> auditor = new TestAuditor(client);
6566
auditor.warning("bar", "Here is my warning");
6667

6768
verify(client).index(indexRequestCaptor.capture(), any());
@@ -75,7 +76,7 @@ public void testWarning() throws IOException {
7576
}
7677

7778
public void testError() throws IOException {
78-
Auditor<AbstractAuditMessageTests.TestAuditMessage> auditor = new Auditor<>(client, "node_1", TEST_INDEX, TEST_ORIGIN, builder);
79+
AbstractAuditor<AbstractAuditMessageTests.TestAuditMessage> auditor = new TestAuditor(client);
7980
auditor.error("foobar", "Here is my error");
8081

8182
verify(client).index(indexRequestCaptor.capture(), any());
@@ -93,4 +94,10 @@ private AbstractAuditMessageTests.TestAuditMessage parseAuditMessage(BytesRefere
9394
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, msg.streamInput());
9495
return AbstractAuditMessageTests.TestAuditMessage.PARSER.apply(parser, null);
9596
}
97+
98+
static class TestAuditor extends AbstractAuditor<AbstractAuditMessageTests.TestAuditMessage> {
99+
TestAuditor(Client client) {
100+
super(client, TEST_NODE_NAME, TEST_INDEX, TEST_ORIGIN, AbstractAuditMessageTests.TestAuditMessage.newBuilder());
101+
}
102+
}
96103
}

x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/common/notifications/LevelTests.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@
1212
public class LevelTests extends ESTestCase {
1313

1414
public void testFromString() {
15-
assertEquals(Level.INFO, Level.fromString("info"));
16-
assertEquals(Level.INFO, Level.fromString("INFO"));
17-
assertEquals(Level.WARNING, Level.fromString("warning"));
18-
assertEquals(Level.WARNING, Level.fromString("WARNING"));
19-
assertEquals(Level.ERROR, Level.fromString("error"));
20-
assertEquals(Level.ERROR, Level.fromString("ERROR"));
15+
assertThat(Level.fromString("info"), equalTo(Level.INFO));
16+
assertThat(Level.fromString("INFO"), equalTo(Level.INFO));
17+
assertThat(Level.fromString("warning"), equalTo(Level.WARNING));
18+
assertThat(Level.fromString("WARNING"), equalTo(Level.WARNING));
19+
assertThat(Level.fromString("error"), equalTo(Level.ERROR));
20+
assertThat(Level.fromString("ERROR"), equalTo(Level.ERROR));
2121
}
2222

2323
public void testToString() {
24-
assertEquals("info", Level.INFO.toString());
25-
assertEquals("warning", Level.WARNING.toString());
26-
assertEquals("error", Level.ERROR.toString());
24+
assertThat(Level.INFO.toString(), equalTo("info"));
25+
assertThat(Level.WARNING.toString(), equalTo("warning"));
26+
assertThat(Level.ERROR.toString(), equalTo("error"));
2727
}
2828

2929
public void testValidOrdinals() {

x-pack/plugin/data-frame/qa/single-node-tests/src/test/java/org/elasticsearch/xpack/dataframe/integration/DataFrameAuditorIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void testAuditorWritesAudits() throws Exception {
6868
assertBusy(() -> {
6969
assertTrue(indexExists(DataFrameInternalIndex.AUDIT_INDEX));
7070
});
71-
// Since calls to write the Auditor are sent and forgot (async) we could have returned from the start,
71+
// Since calls to write the AbstractAuditor are sent and forgot (async) we could have returned from the start,
7272
// finished the job (as this is a very short DF job), all without the audit being fully written.
7373
assertBusy(() -> {
7474
refreshIndex(DataFrameInternalIndex.AUDIT_INDEX);

x-pack/plugin/data-frame/src/main/java/org/elasticsearch/xpack/dataframe/notifications/DataFrameAuditor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
package org.elasticsearch.xpack.dataframe.notifications;
77

88
import org.elasticsearch.client.Client;
9-
import org.elasticsearch.xpack.core.common.notifications.Auditor;
9+
import org.elasticsearch.xpack.core.common.notifications.AbstractAuditor;
1010
import org.elasticsearch.xpack.core.dataframe.notifications.DataFrameAuditMessage;
1111
import org.elasticsearch.xpack.dataframe.persistence.DataFrameInternalIndex;
1212

@@ -15,7 +15,7 @@
1515
/**
1616
* DataFrameAuditor class that abstracts away generic templating for easier injection
1717
*/
18-
public class DataFrameAuditor extends Auditor<DataFrameAuditMessage> {
18+
public class DataFrameAuditor extends AbstractAuditor<DataFrameAuditMessage> {
1919
public DataFrameAuditor(Client client, String nodeName) {
2020
super(client, nodeName, DataFrameInternalIndex.AUDIT_INDEX, DATA_FRAME_ORIGIN, DataFrameAuditMessage.builder());
2121
}

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/MachineLearning.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@
215215
import org.elasticsearch.xpack.ml.job.process.normalizer.NativeNormalizerProcessFactory;
216216
import org.elasticsearch.xpack.ml.job.process.normalizer.NormalizerFactory;
217217
import org.elasticsearch.xpack.ml.job.process.normalizer.NormalizerProcessFactory;
218-
import org.elasticsearch.xpack.ml.notifications.Auditor;
218+
import org.elasticsearch.xpack.ml.notifications.AnomalyDetectionAuditor;
219219
import org.elasticsearch.xpack.ml.process.MlMemoryTracker;
220220
import org.elasticsearch.xpack.ml.process.NativeController;
221221
import org.elasticsearch.xpack.ml.process.NativeControllerHolder;
@@ -469,7 +469,7 @@ public Collection<Object> createComponents(Client client, ClusterService cluster
469469
return Collections.singletonList(new JobManagerHolder());
470470
}
471471

472-
Auditor auditor = new Auditor(client, clusterService.getNodeName());
472+
AnomalyDetectionAuditor auditor = new AnomalyDetectionAuditor(client, clusterService.getNodeName());
473473
JobResultsProvider jobResultsProvider = new JobResultsProvider(client, settings);
474474
JobResultsPersister jobResultsPersister = new JobResultsPersister(client);
475475
JobDataCountsPersister jobDataCountsPersister = new JobDataCountsPersister(client);

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/MlAssignmentNotifier.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,28 @@
2121
import org.elasticsearch.xpack.core.ml.MlTasks;
2222
import org.elasticsearch.xpack.core.ml.action.OpenJobAction;
2323
import org.elasticsearch.xpack.core.ml.action.StartDatafeedAction;
24-
import org.elasticsearch.xpack.ml.notifications.Auditor;
24+
import org.elasticsearch.xpack.ml.notifications.AnomalyDetectionAuditor;
2525

2626
import java.util.Objects;
2727

2828

2929
public class MlAssignmentNotifier implements ClusterStateListener {
3030
private static final Logger logger = LogManager.getLogger(MlAssignmentNotifier.class);
3131

32-
private final Auditor auditor;
32+
private final AnomalyDetectionAuditor auditor;
3333
private final MlConfigMigrator mlConfigMigrator;
3434
private final ThreadPool threadPool;
3535

36-
MlAssignmentNotifier(Settings settings, Auditor auditor, ThreadPool threadPool, Client client, ClusterService clusterService) {
36+
MlAssignmentNotifier(Settings settings, AnomalyDetectionAuditor auditor, ThreadPool threadPool, Client client,
37+
ClusterService clusterService) {
3738
this.auditor = auditor;
3839
this.mlConfigMigrator = new MlConfigMigrator(settings, client, clusterService);
3940
this.threadPool = threadPool;
4041
clusterService.addListener(this);
4142
}
4243

43-
MlAssignmentNotifier(Auditor auditor, ThreadPool threadPool, MlConfigMigrator mlConfigMigrator, ClusterService clusterService) {
44+
MlAssignmentNotifier(AnomalyDetectionAuditor auditor, ThreadPool threadPool, MlConfigMigrator mlConfigMigrator,
45+
ClusterService clusterService) {
4446
this.auditor = auditor;
4547
this.mlConfigMigrator = mlConfigMigrator;
4648
this.threadPool = threadPool;

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportCloseJobAction.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
import org.elasticsearch.xpack.ml.MachineLearning;
3838
import org.elasticsearch.xpack.ml.datafeed.persistence.DatafeedConfigProvider;
3939
import org.elasticsearch.xpack.ml.job.persistence.JobConfigProvider;
40-
import org.elasticsearch.xpack.ml.notifications.Auditor;
40+
import org.elasticsearch.xpack.ml.notifications.AnomalyDetectionAuditor;
4141

4242
import java.util.ArrayList;
4343
import java.util.Collection;
@@ -53,14 +53,14 @@ public class TransportCloseJobAction extends TransportTasksAction<TransportOpenJ
5353
private final ThreadPool threadPool;
5454
private final Client client;
5555
private final ClusterService clusterService;
56-
private final Auditor auditor;
56+
private final AnomalyDetectionAuditor auditor;
5757
private final PersistentTasksService persistentTasksService;
5858
private final JobConfigProvider jobConfigProvider;
5959
private final DatafeedConfigProvider datafeedConfigProvider;
6060

6161
@Inject
6262
public TransportCloseJobAction(TransportService transportService, ThreadPool threadPool, ActionFilters actionFilters,
63-
ClusterService clusterService, Client client, Auditor auditor,
63+
ClusterService clusterService, Client client, AnomalyDetectionAuditor auditor,
6464
PersistentTasksService persistentTasksService, JobConfigProvider jobConfigProvider,
6565
DatafeedConfigProvider datafeedConfigProvider) {
6666
// We fork in innerTaskOperation(...), so we can use ThreadPool.Names.SAME here:
@@ -242,8 +242,10 @@ static void addJobAccordingToState(String jobId, PersistentTasksCustomMetaData t
242242
}
243243
}
244244

245-
static TransportCloseJobAction.WaitForCloseRequest buildWaitForCloseRequest(List<String> openJobIds, List<String> closingJobIds,
246-
PersistentTasksCustomMetaData tasks, Auditor auditor) {
245+
static TransportCloseJobAction.WaitForCloseRequest buildWaitForCloseRequest(List<String> openJobIds,
246+
List<String> closingJobIds,
247+
PersistentTasksCustomMetaData tasks,
248+
AnomalyDetectionAuditor auditor) {
247249
TransportCloseJobAction.WaitForCloseRequest waitForCloseRequest = new TransportCloseJobAction.WaitForCloseRequest();
248250

249251
for (String jobId : openJobIds) {

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportDeleteExpiredDataAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.elasticsearch.xpack.ml.job.retention.ExpiredResultsRemover;
2424
import org.elasticsearch.xpack.ml.job.retention.MlDataRemover;
2525
import org.elasticsearch.xpack.ml.job.retention.UnusedStateRemover;
26-
import org.elasticsearch.xpack.ml.notifications.Auditor;
26+
import org.elasticsearch.xpack.ml.notifications.AnomalyDetectionAuditor;
2727
import org.elasticsearch.xpack.ml.utils.VolatileCursorIterator;
2828

2929
import java.util.Arrays;
@@ -54,7 +54,7 @@ protected void doExecute(Task task, DeleteExpiredDataAction.Request request,
5454
}
5555

5656
private void deleteExpiredData(ActionListener<DeleteExpiredDataAction.Response> listener) {
57-
Auditor auditor = new Auditor(client, clusterService.getNodeName());
57+
AnomalyDetectionAuditor auditor = new AnomalyDetectionAuditor(client, clusterService.getNodeName());
5858
List<MlDataRemover> dataRemovers = Arrays.asList(
5959
new ExpiredResultsRemover(client, auditor),
6060
new ExpiredForecastsRemover(client, threadPool),

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportDeleteJobAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
import org.elasticsearch.xpack.ml.job.persistence.JobConfigProvider;
7171
import org.elasticsearch.xpack.ml.job.persistence.JobDataDeleter;
7272
import org.elasticsearch.xpack.ml.job.persistence.JobResultsProvider;
73-
import org.elasticsearch.xpack.ml.notifications.Auditor;
73+
import org.elasticsearch.xpack.ml.notifications.AnomalyDetectionAuditor;
7474
import org.elasticsearch.xpack.ml.process.MlMemoryTracker;
7575
import org.elasticsearch.xpack.ml.utils.MlIndicesUtils;
7676

@@ -94,7 +94,7 @@ public class TransportDeleteJobAction extends TransportMasterNodeAction<DeleteJo
9494

9595
private final Client client;
9696
private final PersistentTasksService persistentTasksService;
97-
private final Auditor auditor;
97+
private final AnomalyDetectionAuditor auditor;
9898
private final JobResultsProvider jobResultsProvider;
9999
private final JobConfigProvider jobConfigProvider;
100100
private final DatafeedConfigProvider datafeedConfigProvider;
@@ -113,7 +113,7 @@ public class TransportDeleteJobAction extends TransportMasterNodeAction<DeleteJo
113113
public TransportDeleteJobAction(Settings settings, TransportService transportService, ClusterService clusterService,
114114
ThreadPool threadPool, ActionFilters actionFilters,
115115
IndexNameExpressionResolver indexNameExpressionResolver, PersistentTasksService persistentTasksService,
116-
Client client, Auditor auditor, JobResultsProvider jobResultsProvider,
116+
Client client, AnomalyDetectionAuditor auditor, JobResultsProvider jobResultsProvider,
117117
JobConfigProvider jobConfigProvider, DatafeedConfigProvider datafeedConfigProvider,
118118
MlMemoryTracker memoryTracker) {
119119
super(DeleteJobAction.NAME, transportService, clusterService, threadPool, actionFilters,

0 commit comments

Comments
 (0)