Skip to content

Commit 827dd39

Browse files
committed
Filter node.roles setting in transport client (#64276)
This commit filters out the node.roles setting from the transport client, since the transport client does not take on these roles.
1 parent 13fb6db commit 827dd39

File tree

2 files changed

+17
-18
lines changed

2 files changed

+17
-18
lines changed

server/src/main/java/org/elasticsearch/client/transport/TransportClient.java

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@
1919

2020
package org.elasticsearch.client.transport;
2121

22-
import org.elasticsearch.action.ActionType;
2322
import org.elasticsearch.action.ActionListener;
2423
import org.elasticsearch.action.ActionModule;
2524
import org.elasticsearch.action.ActionRequest;
2625
import org.elasticsearch.action.ActionResponse;
26+
import org.elasticsearch.action.ActionType;
2727
import org.elasticsearch.client.support.AbstractClient;
2828
import org.elasticsearch.cluster.ClusterModule;
2929
import org.elasticsearch.cluster.node.DiscoveryNode;
30-
import org.elasticsearch.cluster.node.DiscoveryNodeRole;
3130
import org.elasticsearch.common.UUIDs;
3231
import org.elasticsearch.common.breaker.CircuitBreaker;
3332
import org.elasticsearch.common.component.LifecycleComponent;
@@ -69,7 +68,6 @@
6968
import java.util.Arrays;
7069
import java.util.Collection;
7170
import java.util.List;
72-
import java.util.Set;
7371
import java.util.concurrent.TimeUnit;
7472
import java.util.function.Function;
7573
import java.util.stream.Collectors;
@@ -139,19 +137,13 @@ private static ClientTemplate buildTemplate(Settings providedSettings, Settings
139137
providedSettings = Settings.builder().put(providedSettings).put(Node.NODE_NAME_SETTING.getKey(), "_client_").build();
140138
}
141139
final PluginsService pluginsService = newPluginService(providedSettings, plugins);
142-
final Settings settings =
143-
Settings.builder()
144-
.put(defaultSettings)
145-
.put(pluginsService.updatedSettings())
146-
.put(TransportSettings.FEATURE_PREFIX + "." + TRANSPORT_CLIENT_FEATURE, true)
147-
.build();
148-
final Set<DiscoveryNodeRole> possibleRoles = pluginsService.filterPlugins(Plugin.class)
149-
.stream()
150-
.map(Plugin::getRoles)
151-
.flatMap(Set::stream)
152-
.collect(Collectors.toSet());
153-
DiscoveryNode.setAdditionalRoles(possibleRoles);
154140
final List<Closeable> resourcesToClose = new ArrayList<>();
141+
final Settings settings =
142+
Settings.builder()
143+
.put(defaultSettings)
144+
.put(pluginsService.updatedSettings())
145+
.put(TransportSettings.FEATURE_PREFIX + "." + TRANSPORT_CLIENT_FEATURE, true)
146+
.build();
155147
final ThreadPool threadPool = new ThreadPool(settings);
156148
resourcesToClose.add(() -> ThreadPool.terminate(threadPool, 10, TimeUnit.SECONDS));
157149
final NetworkService networkService = new NetworkService(emptyList());

test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,14 @@
3737
import org.elasticsearch.action.admin.cluster.node.stats.NodeStats;
3838
import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags;
3939
import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags.Flag;
40-
import org.elasticsearch.cluster.coordination.NoMasterBlockService;
41-
import org.elasticsearch.index.IndexingPressure;
4240
import org.elasticsearch.action.support.replication.TransportReplicationAction;
4341
import org.elasticsearch.client.Client;
4442
import org.elasticsearch.client.transport.TransportClient;
4543
import org.elasticsearch.cluster.ClusterName;
4644
import org.elasticsearch.cluster.ClusterState;
4745
import org.elasticsearch.cluster.action.index.MappingUpdatedAction;
4846
import org.elasticsearch.cluster.coordination.ClusterBootstrapService;
47+
import org.elasticsearch.cluster.coordination.NoMasterBlockService;
4948
import org.elasticsearch.cluster.metadata.IndexMetadata;
5049
import org.elasticsearch.cluster.node.DiscoveryNode;
5150
import org.elasticsearch.cluster.node.DiscoveryNodeRole;
@@ -88,6 +87,7 @@
8887
import org.elasticsearch.http.HttpServerTransport;
8988
import org.elasticsearch.index.Index;
9089
import org.elasticsearch.index.IndexService;
90+
import org.elasticsearch.index.IndexingPressure;
9191
import org.elasticsearch.index.engine.CommitStats;
9292
import org.elasticsearch.index.engine.DocIdSeqNoAndSource;
9393
import org.elasticsearch.index.engine.Engine;
@@ -105,6 +105,7 @@
105105
import org.elasticsearch.indices.recovery.RecoverySettings;
106106
import org.elasticsearch.node.MockNode;
107107
import org.elasticsearch.node.Node;
108+
import org.elasticsearch.node.NodeRoleSettings;
108109
import org.elasticsearch.node.NodeService;
109110
import org.elasticsearch.node.NodeValidationException;
110111
import org.elasticsearch.plugins.Plugin;
@@ -1145,7 +1146,13 @@ public Client client(Node node, String clusterName) {
11451146
} else {
11461147
builder.put(NetworkModule.TRANSPORT_TYPE_SETTING.getKey(), getTestTransportType());
11471148
}
1148-
TransportClient client = new MockTransportClient(builder.build(), plugins);
1149+
/*
1150+
* The node.roles setting does not make sense for the transport client, filter it. If the transport client were not deprecated
1151+
* we would probably want to invest in infrastructure to mark a setting as not applicable to the transport client and then
1152+
* filter all such settings here.
1153+
*/
1154+
final Settings finalSettings = builder.build().filter(k -> k.equals(NodeRoleSettings.NODE_ROLES_SETTING.getKey()) == false);
1155+
TransportClient client = new MockTransportClient(finalSettings, plugins);
11491156
client.addTransportAddress(addr);
11501157
return client;
11511158
}

0 commit comments

Comments
 (0)