diff options
author | jonmv <venstad@gmail.com> | 2023-07-10 11:22:50 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-07-10 11:22:50 +0200 |
commit | e44fc2624db48c59a9a85e64f91a7ce54da4a0f4 (patch) | |
tree | 58c2509431fb8ffb9a55ff5d78996d77dcd44412 /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node | |
parent | c9c353c389d19d0e19048c37d65a51a8b2727c22 (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.java | 6 |
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; |