aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-10-18 11:20:45 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2023-10-18 11:20:45 +0200
commit1d4aef173d740c42f7b49e598a3ff95fb72f71cc (patch)
treec491efd324d28ff1734582f486ce867e9e70af0e /container-core
parente6b92c4dfb72567ad89e7cf6271320746c388c3b (diff)
No docs search AND timeout should give 0 coverage instead of 100%.
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/handler/Coverage.java5
-rw-r--r--container-core/src/main/java/com/yahoo/container/logging/Coverage.java3
-rw-r--r--container-core/src/test/java/com/yahoo/container/logging/JSONLogTestCase.java2
3 files changed, 9 insertions, 1 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/handler/Coverage.java b/container-core/src/main/java/com/yahoo/container/handler/Coverage.java
index 69c6c9681bc..bbb47d14571 100644
--- a/container-core/src/main/java/com/yahoo/container/handler/Coverage.java
+++ b/container-core/src/main/java/com/yahoo/container/handler/Coverage.java
@@ -110,7 +110,7 @@ public class Coverage {
return switch (fullReason) {
case EXPLICITLY_FULL: yield true;
case EXPLICITLY_INCOMPLETE: yield false;
- case DOCUMENT_COUNT: yield docs == active;
+ case DOCUMENT_COUNT: yield (docs == active) && !((active == 0) && isDegradedByTimeout()) ;
};
}
@@ -163,6 +163,9 @@ public class Coverage {
if (docs < total) {
return (int) Math.round(docs * 100.0d / total);
}
+ if ((total == 0) && isDegradedByTimeout()) {
+ return 0;
+ }
return getFullResultSets() * 100 / getResultSets();
}
diff --git a/container-core/src/main/java/com/yahoo/container/logging/Coverage.java b/container-core/src/main/java/com/yahoo/container/logging/Coverage.java
index ee85711852d..397ff35b54c 100644
--- a/container-core/src/main/java/com/yahoo/container/logging/Coverage.java
+++ b/container-core/src/main/java/com/yahoo/container/logging/Coverage.java
@@ -59,6 +59,9 @@ public class Coverage {
if (docs < total) {
return (int) Math.round(docs * 100.0d / total);
}
+ if ((total == 0) && isDegradedByTimeout()) {
+ return 0;
+ }
return 100;
}
diff --git a/container-core/src/test/java/com/yahoo/container/logging/JSONLogTestCase.java b/container-core/src/test/java/com/yahoo/container/logging/JSONLogTestCase.java
index 8887bc720ed..7132a0a5beb 100644
--- a/container-core/src/test/java/com/yahoo/container/logging/JSONLogTestCase.java
+++ b/container-core/src/test/java/com/yahoo/container/logging/JSONLogTestCase.java
@@ -291,6 +291,8 @@ public class JSONLogTestCase {
newRequestLogEntry("test", new Coverage(100, 200, 200, 2)).build());
verifyCoverage("\"coverage\":{\"coverage\":50,\"documents\":100,\"degraded\":{\"adaptive-timeout\":true}}",
newRequestLogEntry("test", new Coverage(100, 200, 200, 4)).build());
+ verifyCoverage("\"coverage\":{\"coverage\":0,\"documents\":0,\"degraded\":{\"timeout\":true}}",
+ newRequestLogEntry("test", new Coverage(0, 0, 0, 2)).build());
}
private String formatEntry(RequestLogEntry entry) {