summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2022-03-08 07:46:37 +0100
committerJon Marius Venstad <venstad@gmail.com>2022-03-08 07:46:37 +0100
commit4bbdb068edf29a882c002c99fe2a382a5ea11cd0 (patch)
tree604c82ca1a53d1c78e01a30cf271117ba4993913 /node-repository
parentb0ab0dbaec9d19ecef0d274b513fd700f9752c6f (diff)
Sort on node stats on secondary fields for consistent unit test results
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java7
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/stats.json6
2 files changed, 9 insertions, 4 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java
index ba8aa49d87c..338187c5270 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java
@@ -12,6 +12,7 @@ import com.yahoo.vespa.hosted.provision.autoscale.NodeTimeseries;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -122,6 +123,10 @@ public class NodeRepoStats {
public static class ApplicationStats implements Comparable<ApplicationStats> {
+ private static final Comparator<ApplicationStats> comparator = Comparator.comparingDouble(ApplicationStats::unutilizedCost).reversed()
+ .thenComparingDouble(ApplicationStats::cost)
+ .thenComparing(ApplicationStats::id);
+
private final ApplicationId id;
private final Load load;
private final double cost;
@@ -148,7 +153,7 @@ public class NodeRepoStats {
@Override
public int compareTo(NodeRepoStats.ApplicationStats other) {
- return -Double.compare(this.unutilizedCost(), other.unutilizedCost());
+ return comparator.compare(this, other);
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/stats.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/stats.json
index 8867520fef6..8a46f8115be 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/stats.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/stats.json
@@ -11,7 +11,7 @@
},
"applications": [
{
- "id": "tenant3.application3.instance3",
+ "id": "tenant1.application1.instance1",
"load": {
"cpu": 0.0,
"memory": 0.0,
@@ -31,7 +31,7 @@
"unutilizedCost": 0.0
},
{
- "id": "tenant4.application4.instance4",
+ "id": "tenant3.application3.instance3",
"load": {
"cpu": 0.0,
"memory": 0.0,
@@ -41,7 +41,7 @@
"unutilizedCost": 0.0
},
{
- "id": "tenant1.application1.instance1",
+ "id": "tenant4.application4.instance4",
"load": {
"cpu": 0.0,
"memory": 0.0,