Skip to content

Commit 4ecdae3

Browse files
authored
[grid] Reduce redundant logs of find slots and retry queue requests by the Distributor (#16155)
1 parent dbfed9d commit 4ecdae3

File tree

4 files changed

+356
-5
lines changed

4 files changed

+356
-5
lines changed

java/src/org/openqa/selenium/grid/distributor/local/LocalDistributor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ public void run() {
539539
// up starving a session request.
540540
Map<Capabilities, Long> stereotypes =
541541
getAvailableNodes().stream()
542-
.filter(node -> node.hasCapacity())
542+
.filter(NodeStatus::hasCapacity)
543543
.flatMap(node -> node.getSlots().stream().map(Slot::getStereotype))
544544
.collect(
545545
Collectors.groupingBy(ImmutableCapabilities::copyOf, Collectors.counting()));

java/src/org/openqa/selenium/grid/distributor/local/LocalNodeRegistry.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,9 +361,8 @@ public Set<NodeStatus> getAvailableNodes() {
361361
readLock.lock();
362362
try {
363363
return model.getSnapshot().stream()
364-
.filter(
365-
node ->
366-
!DOWN.equals(node.getAvailability()) && !DRAINING.equals(node.getAvailability()))
364+
// Filter nodes are UP and have capacity (available slots)
365+
.filter(node -> UP.equals(node.getAvailability()) && node.hasCapacity())
367366
.collect(ImmutableSet.toImmutableSet());
368367
} finally {
369368
readLock.unlock();

java/src/org/openqa/selenium/grid/sessionqueue/local/LocalNewSessionQueue.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import org.openqa.selenium.grid.data.TraceSessionRequest;
5656
import org.openqa.selenium.grid.distributor.config.DistributorOptions;
5757
import org.openqa.selenium.grid.jmx.JMXHelper;
58+
import org.openqa.selenium.grid.jmx.MBean;
5859
import org.openqa.selenium.grid.jmx.ManagedAttribute;
5960
import org.openqa.selenium.grid.jmx.ManagedService;
6061
import org.openqa.selenium.grid.log.LoggingOptions;
@@ -110,6 +111,7 @@ public class LocalNewSessionQueue extends NewSessionQueue implements Closeable {
110111
thread.setName(NAME);
111112
return thread;
112113
});
114+
private final MBean jmxBean;
113115

114116
public LocalNewSessionQueue(
115117
Tracer tracer,
@@ -139,7 +141,8 @@ public LocalNewSessionQueue(
139141
requestTimeoutCheck.toMillis(),
140142
MILLISECONDS);
141143

142-
new JMXHelper().register(this);
144+
// Manage JMX and unregister on close()
145+
this.jmxBean = new JMXHelper().register(this);
143146
}
144147

145148
public static NewSessionQueue create(Config config) {
@@ -502,6 +505,10 @@ public boolean isReady() {
502505
@Override
503506
public void close() {
504507
shutdownGracefully(NAME, service);
508+
509+
if (jmxBean != null) {
510+
new JMXHelper().unregister(jmxBean.getObjectName());
511+
}
505512
}
506513

507514
private void failDueToTimeout(RequestId reqId) {

0 commit comments

Comments
 (0)