Skip to content

Commit 97e24d6

Browse files
Pass MockNode LinkedProjectConfigService to MockTransportService (#136004)
NodeConstruction creates a LinkedProjectConfigService via SPI. This instance is passed to MockNode, but currently it is not forwarded on to the MockTransportService, which results in a new ClusterSettingsLinkedProjectConfigService being created. This change plumbs the instance passed into MockNode down into the MockTransportService. In serverless tests we'll be using an implementation based on the new ProjectCustom so we must be able to get this new implementation created via SPI and passed through the MockNode and into the MockTransportService so it can be used in RemoteClusterService. Relates: ES-12270
1 parent 53dc1dc commit 97e24d6

File tree

2 files changed

+24
-30
lines changed

2 files changed

+24
-30
lines changed

test/framework/src/main/java/org/elasticsearch/node/MockNode.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.elasticsearch.test.ESTestCase;
5050
import org.elasticsearch.test.MockHttpTransport;
5151
import org.elasticsearch.test.transport.MockTransportService;
52+
import org.elasticsearch.test.transport.StubbableTransport;
5253
import org.elasticsearch.threadpool.ThreadPool;
5354
import org.elasticsearch.transport.LinkedProjectConfigService;
5455
import org.elasticsearch.transport.Transport;
@@ -201,13 +202,14 @@ protected TransportService newTransportService(
201202
} else {
202203
return new MockTransportService(
203204
settings,
204-
transport,
205+
new StubbableTransport(transport),
205206
threadPool,
206207
interceptor,
207208
localNodeFactory,
208209
clusterSettings,
209-
taskManager.getTaskHeaders(),
210-
nodeId
210+
MockTransportService.createTaskManager(settings, threadPool, taskManager.getTaskHeaders(), Tracer.NOOP, nodeId),
211+
linkedProjectConfigService,
212+
projectResolver
211213
);
212214
}
213215
}

test/framework/src/main/java/org/elasticsearch/test/transport/MockTransportService.java

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import org.elasticsearch.cluster.node.DiscoveryNode;
1919
import org.elasticsearch.cluster.node.DiscoveryNodeUtils;
2020
import org.elasticsearch.cluster.node.VersionInformation;
21+
import org.elasticsearch.cluster.project.DefaultProjectResolver;
22+
import org.elasticsearch.cluster.project.ProjectResolver;
2123
import org.elasticsearch.common.UUIDs;
2224
import org.elasticsearch.common.io.stream.BytesStreamOutput;
2325
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
@@ -51,8 +53,10 @@
5153
import org.elasticsearch.test.tasks.MockTaskManager;
5254
import org.elasticsearch.threadpool.ThreadPool;
5355
import org.elasticsearch.transport.ClusterConnectionManager;
56+
import org.elasticsearch.transport.ClusterSettingsLinkedProjectConfigService;
5457
import org.elasticsearch.transport.ConnectTransportException;
5558
import org.elasticsearch.transport.ConnectionProfile;
59+
import org.elasticsearch.transport.LinkedProjectConfigService;
5660
import org.elasticsearch.transport.NodeNotConnectedException;
5761
import org.elasticsearch.transport.RequestHandlerRegistry;
5862
import org.elasticsearch.transport.TcpTransport;
@@ -192,7 +196,7 @@ public static MockTransportService createNewService(
192196
String nodeId = UUIDs.randomBase64UUID();
193197
return new MockTransportService(
194198
settings,
195-
new StubbableTransport(transport),
199+
transport,
196200
threadPool,
197201
interceptor,
198202
boundAddress -> DiscoveryNodeUtils.builder(nodeId)
@@ -203,7 +207,8 @@ public static MockTransportService createNewService(
203207
.version(version)
204208
.build(),
205209
clusterSettings,
206-
createTaskManager(settings, threadPool, taskHeaders, Tracer.NOOP, nodeId)
210+
taskHeaders,
211+
nodeId
207212
);
208213
}
209214

@@ -223,12 +228,13 @@ public static MockTransportService createMockTransportService(Transport transpor
223228
String nodeId = UUIDs.randomBase64UUID();
224229
return new MockTransportService(
225230
Settings.EMPTY,
226-
new StubbableTransport(transport),
231+
transport,
227232
threadPool,
228233
TransportService.NOOP_TRANSPORT_INTERCEPTOR,
229234
(boundAddress) -> DiscoveryNodeUtils.builder(nodeId).address(boundAddress.publishAddress()).build(),
230235
null, // clusterSettings
231-
createTaskManager(Settings.EMPTY, threadPool, Set.of(), Tracer.NOOP, nodeId)
236+
Set.of(),
237+
nodeId
232238
);
233239
}
234240

@@ -256,38 +262,22 @@ public MockTransportService(
256262
interceptor,
257263
localNodeFactory,
258264
clusterSettings,
259-
createTaskManager(settings, threadPool, taskHeaders, Tracer.NOOP, nodeId)
265+
createTaskManager(settings, threadPool, taskHeaders, Tracer.NOOP, nodeId),
266+
new ClusterSettingsLinkedProjectConfigService(settings, clusterSettings, DefaultProjectResolver.INSTANCE),
267+
DefaultProjectResolver.INSTANCE
260268
);
261269
}
262270

263271
public MockTransportService(
264-
Settings settings,
265-
Transport transport,
266-
ThreadPool threadPool,
267-
TransportInterceptor interceptor,
268-
Function<BoundTransportAddress, DiscoveryNode> localNodeFactory,
269-
@Nullable ClusterSettings clusterSettings,
270-
String nodeId
271-
) {
272-
this(
273-
settings,
274-
new StubbableTransport(transport),
275-
threadPool,
276-
interceptor,
277-
localNodeFactory,
278-
clusterSettings,
279-
createTaskManager(settings, threadPool, Set.of(), Tracer.NOOP, nodeId)
280-
);
281-
}
282-
283-
private MockTransportService(
284272
Settings settings,
285273
StubbableTransport transport,
286274
ThreadPool threadPool,
287275
TransportInterceptor interceptor,
288276
Function<BoundTransportAddress, DiscoveryNode> localNodeFactory,
289277
@Nullable ClusterSettings clusterSettings,
290-
TaskManager taskManager
278+
TaskManager taskManager,
279+
LinkedProjectConfigService linkedProjectConfigService,
280+
ProjectResolver projectResolver
291281
) {
292282
super(
293283
settings,
@@ -297,7 +287,9 @@ private MockTransportService(
297287
localNodeFactory,
298288
clusterSettings,
299289
new StubbableConnectionManager(new ClusterConnectionManager(settings, transport, threadPool.getThreadContext())),
300-
taskManager
290+
taskManager,
291+
linkedProjectConfigService,
292+
projectResolver
301293
);
302294
this.original = transport.getDelegate();
303295
this.testExecutor = EsExecutors.newScaling(

0 commit comments

Comments
 (0)