diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-10-18 11:20:45 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-10-18 11:20:45 +0200 |
commit | 1d4aef173d740c42f7b49e598a3ff95fb72f71cc (patch) | |
tree | c491efd324d28ff1734582f486ce867e9e70af0e /container-core | |
parent | e6b92c4dfb72567ad89e7cf6271320746c388c3b (diff) |
No docs search AND timeout should give 0 coverage instead of 100%.
Diffstat (limited to 'container-core')
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) { |