diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScan.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScan.java index 8479bd052214..7cdb58c12604 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScan.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScan.java @@ -112,8 +112,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher scanOperationSpanMatcher = allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), @@ -149,8 +150,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher scanOperationSpanMatcher = allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanAll.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanAll.java index a59f1fa355be..8f2d3c5e814a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanAll.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanAll.java @@ -102,8 +102,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher scanOperationSpanMatcher = allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), @@ -124,8 +125,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher scanOperationSpanMatcher = allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanner.java index 0da3e0ded58a..54552639c75e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanner.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableScanner.java @@ -115,8 +115,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); waitForSpan(allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), hasParentSpanId(parentSpanId), hasStatusWithCode(StatusCode.OK), hasEnded())); @@ -135,8 +136,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher scanOperationSpanMatcher = allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRawAsyncTableScan.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRawAsyncTableScan.java index b7a8fc9a0178..758e1245bde2 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRawAsyncTableScan.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRawAsyncTableScan.java @@ -107,8 +107,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher scanOperationSpanMatcher = allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), @@ -116,7 +117,8 @@ protected void assertTraceContinuity() { waitForSpan(scanOperationSpanMatcher); final String scanOperationSpanId = spanStream().filter(scanOperationSpanMatcher::matches) - .map(SpanData::getSpanId).findAny().get(); + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher onNextMatcher = hasName("TracedAdvancedScanResultConsumer#onNext"); waitForSpan(onNextMatcher); spanStream().filter(onNextMatcher::matches) @@ -145,8 +147,9 @@ protected void assertTraceContinuity() { stringTraceRenderer.render(logger::debug); } - final String parentSpanId = - spanStream().filter(parentSpanMatcher::matches).map(SpanData::getSpanId).findAny().get(); + final String parentSpanId = spanStream().filter(parentSpanMatcher::matches) + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher scanOperationSpanMatcher = allOf(hasName(startsWith("SCAN " + TABLE_NAME.getNameWithNamespaceInclAsString())), @@ -154,7 +157,8 @@ protected void assertTraceContinuity() { hasException(exceptionMatcher), hasEnded()); waitForSpan(scanOperationSpanMatcher); final String scanOperationSpanId = spanStream().filter(scanOperationSpanMatcher::matches) - .map(SpanData::getSpanId).findAny().get(); + .max((a, b) -> Long.compare(a.getEndEpochNanos(), b.getEndEpochNanos())) + .map(SpanData::getSpanId).get(); final Matcher onCompleteMatcher = hasName("TracedAdvancedScanResultConsumer#onError"); waitForSpan(onCompleteMatcher);