diff options
Diffstat (limited to 'container-search')
4 files changed, 6 insertions, 25 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/CoverageAggregator.java b/container-search/src/main/java/com/yahoo/search/dispatch/CoverageAggregator.java index 4e19c8a2e22..e3801ad64f4 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/CoverageAggregator.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/CoverageAggregator.java @@ -54,11 +54,10 @@ public class CoverageAggregator { this.failedNodes = failedNodes; } - public Coverage createCoverage(TimeoutHandler timeoutHandler, boolean useTargetActiveForCoverageComputation) { + public Coverage createCoverage(TimeoutHandler timeoutHandler) { Coverage coverage = new Coverage(answeredDocs, answeredActiveDocs, answeredNodesParticipated, 1); coverage.setNodesTried(askedNodes); coverage.setTargetActive(answeredTargetActiveDocs); - coverage.useTargetActiveForCoverageComputation(useTargetActiveForCoverageComputation); int degradedReason = 0; if (timedOut) { degradedReason |= timeoutHandler.reason(); diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java index 2717b48839e..b4f04da5986 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java @@ -127,8 +127,8 @@ public class InterleavedSearchInvoker extends SearchInvoker implements ResponseM groupingResultAggregator.toAggregatedHit().ifPresent(h -> result.getResult().hits().add(h)); insertNetworkErrors(result.getResult()); - CoverageAggregator adjusted = coverageAggregator.adjustedDegradedCoverage(redundancyForCoverage(searchCluster.dispatchConfig()), timeoutHandler); - result.getResult().setCoverage(adjusted.createCoverage(timeoutHandler, searchCluster.dispatchConfig().computeCoverageFromTargetActiveDocs())); + CoverageAggregator adjusted = coverageAggregator.adjustedDegradedCoverage((int)searchCluster.dispatchConfig().redundancy(), timeoutHandler); + result.getResult().setCoverage(adjusted.createCoverage(timeoutHandler)); int needed = query.getOffset() + query.getHits(); for (int index = query.getOffset(); (index < merged.size()) && (index < needed); index++) { @@ -138,10 +138,6 @@ public class InterleavedSearchInvoker extends SearchInvoker implements ResponseM return result; } - private int redundancyForCoverage(DispatchConfig config) { - return (int)(config.computeCoverageFromTargetActiveDocs() ? config.redundancy() : config.searchableCopies()); - } - private void insertNetworkErrors(Result result) { // Network errors will be reported as errors only when all nodes fail, otherwise they are just traced boolean asErrors = coverageAggregator.hasNoAnswers(); diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java index 180beb43ee8..938256b6055 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java @@ -424,20 +424,12 @@ public class InterleavedSearchInvokerTest { assertTrue(cov.isDegradedByTimeout()); } } - @Test - void requireCorrectCoverageCalculationWhenDegradedCoverageIsExpectedUsingActiveDocs() throws IOException { - verifyCorrectCoverageCalculationWhenDegradedCoverageIsExpected(MockSearchCluster.createDispatchConfig(100.0, List.of()) - .searchableCopies(1) - .redundancy(2) - .build(), - 50); - } + @Test void requireCorrectCoverageCalculationWhenDegradedCoverageIsExpectedUsingTargetActiveDocs() throws IOException { verifyCorrectCoverageCalculationWhenDegradedCoverageIsExpected(MockSearchCluster.createDispatchConfig(100.0, List.of()) .searchableCopies(1) .redundancy(1) - .computeCoverageFromTargetActiveDocs(true) .build(), 42); } diff --git a/container-search/src/test/java/com/yahoo/search/result/CoverageTestCase.java b/container-search/src/test/java/com/yahoo/search/result/CoverageTestCase.java index e2675b09307..4d521e3e8b4 100644 --- a/container-search/src/test/java/com/yahoo/search/result/CoverageTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/result/CoverageTestCase.java @@ -33,13 +33,8 @@ public class CoverageTestCase { } @Test - void testCoverageBasedOnActive() { - var c = new Coverage(8, 10).setTargetActive(16); - assertEquals(80, c.getResultPercentage()); - } - @Test void testCoverageBasedOnTargetActive() { - var c = new Coverage(8, 10).setTargetActive(16).useTargetActiveForCoverageComputation(true); + var c = new Coverage(8, 10).setTargetActive(16); assertEquals(50, c.getResultPercentage()); } @@ -92,8 +87,7 @@ public class CoverageTestCase { @Test void testCoverageConversion() { - verifyCoverageConversion(new Coverage(6, 10).setDegradedReason(7).setTargetActive(12).useTargetActiveForCoverageComputation(false)); - verifyCoverageConversion(new Coverage(6, 10).setDegradedReason(7).setTargetActive(12).useTargetActiveForCoverageComputation(true)); + verifyCoverageConversion(new Coverage(6, 10).setDegradedReason(7).setTargetActive(12)); } } |