Skip to content

Commit a844f0d

Browse files
committed
Convert AllNodes to a Java record
1 parent 8c1a5c2 commit a844f0d

File tree

12 files changed

+51
-112
lines changed

12 files changed

+51
-112
lines changed

core/trino-main/src/main/java/io/trino/connector/CatalogPruneTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public ThreadPoolExecutorMBean getExecutor()
128128
public void pruneWorkerCatalogs()
129129
{
130130
AllNodes allNodes = internalNodeManager.getAllNodes();
131-
Set<URI> online = Stream.of(allNodes.getActiveNodes(), allNodes.getInactiveNodes(), allNodes.getDrainingNodes(), allNodes.getDrainedNodes(), allNodes.getShuttingDownNodes())
131+
Set<URI> online = Stream.of(allNodes.activeNodes(), allNodes.inactiveNodes(), allNodes.drainingNodes(), allNodes.drainedNodes(), allNodes.shuttingDownNodes())
132132
.flatMap(Set::stream)
133133
.map(InternalNode::getInternalUri)
134134
.filter(uri -> !uri.equals(currentNode.getInternalUri()))

core/trino-main/src/main/java/io/trino/connector/system/NodeSystemTable.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@ public RecordCursor cursor(ConnectorTransactionHandle transactionHandle, Connect
8080
{
8181
Builder table = InMemoryRecordSet.builder(NODES_TABLE);
8282
AllNodes allNodes = nodeManager.getAllNodes();
83-
addRows(table, allNodes.getActiveNodes(), ACTIVE);
84-
addRows(table, allNodes.getInactiveNodes(), INACTIVE);
85-
addRows(table, allNodes.getShuttingDownNodes(), SHUTTING_DOWN);
86-
addRows(table, allNodes.getDrainingNodes(), DRAINING);
87-
addRows(table, allNodes.getDrainedNodes(), DRAINED);
83+
addRows(table, allNodes.activeNodes(), ACTIVE);
84+
addRows(table, allNodes.inactiveNodes(), INACTIVE);
85+
addRows(table, allNodes.shuttingDownNodes(), SHUTTING_DOWN);
86+
addRows(table, allNodes.drainingNodes(), DRAINING);
87+
addRows(table, allNodes.drainedNodes(), DRAINED);
8888

8989
return table.build().cursor();
9090
}

core/trino-main/src/main/java/io/trino/cost/TaskCountEstimator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public TaskCountEstimator(NodeSchedulerConfig nodeSchedulerConfig, InternalNodeM
4242
boolean schedulerIncludeCoordinator = nodeSchedulerConfig.isIncludeCoordinator();
4343
requireNonNull(nodeManager, "nodeManager is null");
4444
this.numberOfNodes = () -> {
45-
Set<InternalNode> activeNodes = nodeManager.getAllNodes().getActiveNodes();
45+
Set<InternalNode> activeNodes = nodeManager.getAllNodes().activeNodes();
4646
int count;
4747
if (schedulerIncludeCoordinator) {
4848
count = activeNodes.size();

core/trino-main/src/main/java/io/trino/execution/ClusterSizeMonitor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,10 @@ private synchronized void removeFuture(MinNodesFuture minNodesFuture)
137137
private synchronized void updateAllNodes(AllNodes allNodes)
138138
{
139139
if (includeCoordinator) {
140-
currentCount = allNodes.getActiveNodes().size();
140+
currentCount = allNodes.activeNodes().size();
141141
}
142142
else {
143-
currentCount = Sets.difference(allNodes.getActiveNodes(), allNodes.getActiveCoordinators()).size();
143+
currentCount = Sets.difference(allNodes.activeNodes(), allNodes.activeCoordinators()).size();
144144
}
145145

146146
ImmutableList.Builder<SettableFuture<Void>> listenersBuilder = ImmutableList.builder();

core/trino-main/src/main/java/io/trino/execution/scheduler/faulttolerant/EventDrivenTaskSourceFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ private SplitAssigner createSplitAssigner(
239239
outputDataSizeEstimates,
240240
fragment,
241241
getFaultTolerantExecutionHashDistributionComputeTaskTargetSize(session).toBytes(),
242-
toIntExact(round(getFaultTolerantExecutionHashDistributionComputeTasksToNodesMinRatio(session) * nodeManager.getAllNodes().getActiveNodes().size())),
242+
toIntExact(round(getFaultTolerantExecutionHashDistributionComputeTasksToNodesMinRatio(session) * nodeManager.getAllNodes().activeNodes().size())),
243243
Integer.MAX_VALUE); // compute tasks are bounded by the number of partitions anyways
244244
}
245245
if (partitioning.equals(SCALED_WRITER_HASH_DISTRIBUTION)
@@ -253,7 +253,7 @@ private SplitAssigner createSplitAssigner(
253253
outputDataSizeEstimates,
254254
fragment,
255255
getFaultTolerantExecutionHashDistributionWriteTaskTargetSize(session).toBytes(),
256-
toIntExact(round(getFaultTolerantExecutionHashDistributionWriteTasksToNodesMinRatio(session) * nodeManager.getAllNodes().getActiveNodes().size())),
256+
toIntExact(round(getFaultTolerantExecutionHashDistributionWriteTasksToNodesMinRatio(session) * nodeManager.getAllNodes().activeNodes().size())),
257257
getFaultTolerantExecutionHashDistributionWriteTaskTargetMaxCount(session));
258258
}
259259

core/trino-main/src/main/java/io/trino/node/AllNodes.java

Lines changed: 15 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -15,86 +15,25 @@
1515

1616
import com.google.common.collect.ImmutableSet;
1717

18-
import java.util.Objects;
1918
import java.util.Set;
2019

2120
import static java.util.Objects.requireNonNull;
2221

23-
public class AllNodes
22+
public record AllNodes(
23+
Set<InternalNode> activeNodes,
24+
Set<InternalNode> inactiveNodes,
25+
Set<InternalNode> drainingNodes,
26+
Set<InternalNode> drainedNodes,
27+
Set<InternalNode> shuttingDownNodes,
28+
Set<InternalNode> activeCoordinators)
2429
{
25-
private final Set<InternalNode> activeNodes;
26-
private final Set<InternalNode> inactiveNodes;
27-
private final Set<InternalNode> drainingNodes;
28-
private final Set<InternalNode> drainedNodes;
29-
private final Set<InternalNode> shuttingDownNodes;
30-
private final Set<InternalNode> activeCoordinators;
31-
32-
public AllNodes(Set<InternalNode> activeNodes,
33-
Set<InternalNode> inactiveNodes,
34-
Set<InternalNode> drainingNodes,
35-
Set<InternalNode> drainedNodes,
36-
Set<InternalNode> shuttingDownNodes,
37-
Set<InternalNode> activeCoordinators)
38-
{
39-
this.activeNodes = ImmutableSet.copyOf(requireNonNull(activeNodes, "activeNodes is null"));
40-
this.inactiveNodes = ImmutableSet.copyOf(requireNonNull(inactiveNodes, "inactiveNodes is null"));
41-
this.drainedNodes = ImmutableSet.copyOf(requireNonNull(drainedNodes, "drainedNodes is null"));
42-
this.drainingNodes = ImmutableSet.copyOf(requireNonNull(drainingNodes, "drainingNodes is null"));
43-
this.shuttingDownNodes = ImmutableSet.copyOf(requireNonNull(shuttingDownNodes, "shuttingDownNodes is null"));
44-
this.activeCoordinators = ImmutableSet.copyOf(requireNonNull(activeCoordinators, "activeCoordinators is null"));
45-
}
46-
47-
public Set<InternalNode> getActiveNodes()
48-
{
49-
return activeNodes;
50-
}
51-
52-
public Set<InternalNode> getInactiveNodes()
53-
{
54-
return inactiveNodes;
55-
}
56-
57-
public Set<InternalNode> getShuttingDownNodes()
58-
{
59-
return shuttingDownNodes;
60-
}
61-
62-
public Set<InternalNode> getDrainedNodes()
63-
{
64-
return drainedNodes;
65-
}
66-
67-
public Set<InternalNode> getDrainingNodes()
68-
{
69-
return drainingNodes;
70-
}
71-
72-
public Set<InternalNode> getActiveCoordinators()
73-
{
74-
return activeCoordinators;
75-
}
76-
77-
@Override
78-
public boolean equals(Object o)
79-
{
80-
if (this == o) {
81-
return true;
82-
}
83-
if (o == null || getClass() != o.getClass()) {
84-
return false;
85-
}
86-
AllNodes allNodes = (AllNodes) o;
87-
return Objects.equals(activeNodes, allNodes.activeNodes) &&
88-
Objects.equals(inactiveNodes, allNodes.inactiveNodes) &&
89-
Objects.equals(drainedNodes, allNodes.drainedNodes) &&
90-
Objects.equals(drainingNodes, allNodes.drainingNodes) &&
91-
Objects.equals(shuttingDownNodes, allNodes.shuttingDownNodes) &&
92-
Objects.equals(activeCoordinators, allNodes.activeCoordinators);
93-
}
94-
95-
@Override
96-
public int hashCode()
97-
{
98-
return Objects.hash(activeNodes, inactiveNodes, drainingNodes, drainedNodes, shuttingDownNodes, activeCoordinators);
30+
public AllNodes
31+
{
32+
activeNodes = ImmutableSet.copyOf(requireNonNull(activeNodes, "activeNodes is null"));
33+
inactiveNodes = ImmutableSet.copyOf(requireNonNull(inactiveNodes, "inactiveNodes is null"));
34+
drainedNodes = ImmutableSet.copyOf(requireNonNull(drainedNodes, "drainedNodes is null"));
35+
drainingNodes = ImmutableSet.copyOf(requireNonNull(drainingNodes, "drainingNodes is null"));
36+
shuttingDownNodes = ImmutableSet.copyOf(requireNonNull(shuttingDownNodes, "shuttingDownNodes is null"));
37+
activeCoordinators = ImmutableSet.copyOf(requireNonNull(activeCoordinators, "activeCoordinators is null"));
9938
}
10039
}

core/trino-main/src/main/java/io/trino/node/CoordinatorNodeManager.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -246,31 +246,31 @@ public synchronized AllNodes getAllNodes()
246246
@Managed
247247
public int getActiveNodeCount()
248248
{
249-
return getAllNodes().getActiveNodes().size();
249+
return getAllNodes().activeNodes().size();
250250
}
251251

252252
@Managed
253253
public int getInactiveNodeCount()
254254
{
255-
return getAllNodes().getInactiveNodes().size();
255+
return getAllNodes().inactiveNodes().size();
256256
}
257257

258258
@Managed
259259
public int getDrainingNodeCount()
260260
{
261-
return getAllNodes().getDrainingNodes().size();
261+
return getAllNodes().drainingNodes().size();
262262
}
263263

264264
@Managed
265265
public int getDrainedNodeCount()
266266
{
267-
return getAllNodes().getDrainedNodes().size();
267+
return getAllNodes().drainedNodes().size();
268268
}
269269

270270
@Managed
271271
public int getShuttingDownNodeCount()
272272
{
273-
return getAllNodes().getShuttingDownNodes().size();
273+
return getAllNodes().shuttingDownNodes().size();
274274
}
275275

276276
@VisibleForTesting

core/trino-main/src/main/java/io/trino/node/InternalNodeManager.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,23 @@ public interface InternalNodeManager
2727
default Set<InternalNode> getNodes(NodeState state)
2828
{
2929
return switch (state) {
30-
case ACTIVE -> getAllNodes().getActiveNodes();
31-
case INACTIVE -> getAllNodes().getInactiveNodes();
32-
case DRAINING -> getAllNodes().getDrainingNodes();
33-
case DRAINED -> getAllNodes().getDrainedNodes();
34-
case SHUTTING_DOWN -> getAllNodes().getShuttingDownNodes();
30+
case ACTIVE -> getAllNodes().activeNodes();
31+
case INACTIVE -> getAllNodes().inactiveNodes();
32+
case DRAINING -> getAllNodes().drainingNodes();
33+
case DRAINED -> getAllNodes().drainedNodes();
34+
case SHUTTING_DOWN -> getAllNodes().shuttingDownNodes();
3535
case INVALID, GONE -> ImmutableSet.of();
3636
};
3737
}
3838

3939
default NodesSnapshot getActiveNodesSnapshot()
4040
{
41-
return new NodesSnapshot(getAllNodes().getActiveNodes());
41+
return new NodesSnapshot(getAllNodes().activeNodes());
4242
}
4343

4444
default Set<InternalNode> getCoordinators()
4545
{
46-
return getAllNodes().getActiveCoordinators();
46+
return getAllNodes().activeCoordinators();
4747
}
4848

4949
AllNodes getAllNodes();

core/trino-main/src/main/java/io/trino/node/TestingInternalNodeManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public synchronized void addNodes(Collection<InternalNode> internalNodes)
8888
{
8989
checkArgument(internalNodes.stream().noneMatch(currentNode::equals), "Cannot add current node");
9090
Set<InternalNode> newActiveNodes = ImmutableSet.<InternalNode>builder()
91-
.addAll(allNodes.getActiveNodes())
91+
.addAll(allNodes.activeNodes())
9292
.addAll(internalNodes)
9393
.build();
9494

@@ -108,7 +108,7 @@ public synchronized void removeNode(InternalNode internalNode)
108108
requireNonNull(internalNode, "internalNode is null");
109109
checkArgument(!currentNode.equals(internalNode), "Cannot remove current node");
110110

111-
Set<InternalNode> newActiveNodes = new HashSet<>(allNodes.getActiveNodes());
111+
Set<InternalNode> newActiveNodes = new HashSet<>(allNodes.activeNodes());
112112
newActiveNodes.remove(internalNode);
113113

114114
setAllNodes(new AllNodes(

core/trino-main/src/main/java/io/trino/server/testing/TestingTrinoServer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,7 @@ public void unregisterServer(InternalNode worker)
691691

692692
public int getWorkerCount()
693693
{
694-
return (int) nodeManager.getAllNodes().getActiveNodes().stream()
694+
return (int) nodeManager.getAllNodes().activeNodes().stream()
695695
.filter(node -> !currentNode.equals(node))
696696
.count();
697697
}

0 commit comments

Comments
 (0)