aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-07-10 11:22:50 +0200
committerjonmv <venstad@gmail.com>2023-07-10 11:22:50 +0200
commite44fc2624db48c59a9a85e64f91a7ce54da4a0f4 (patch)
tree58c2509431fb8ffb9a55ff5d78996d77dcd44412 /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node
parentc9c353c389d19d0e19048c37d65a51a8b2727c22 (diff)
Release in reverse acquisition order
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
index fe5f1e9c4d8..f7c6ae9f8fa 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
@@ -35,7 +35,6 @@ import java.util.Collection;
import java.util.Comparator;
import java.util.EnumSet;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.NavigableSet;
import java.util.Optional;
@@ -47,6 +46,7 @@ import java.util.function.Predicate;
import java.util.logging.Level;
import java.util.logging.Logger;
+import static com.yahoo.collections.Iterables.reversed;
import static com.yahoo.vespa.hosted.provision.restapi.NodePatcher.DROP_DOCUMENTS_REPORT;
import static java.util.Comparator.comparing;
import static java.util.stream.Collectors.groupingBy;
@@ -1008,9 +1008,9 @@ public class Nodes {
/** A node with their locks, acquired in a universal order. */
public record NodeMutexes(List<NodeMutex> nodes) implements AutoCloseable {
@Override public void close() { close(nodes); }
- private static void close(Iterable<NodeMutex> nodes) {
+ private static void close(Collection<NodeMutex> nodes) {
RuntimeException thrown = null;
- for (NodeMutex node : nodes) {
+ for (NodeMutex node : reversed(List.copyOf(nodes))) {
try (node) { }
catch (RuntimeException e) {
if (thrown == null) thrown = e;