This is an automated email from the ASF dual-hosted git repository. ndimiduk pushed a commit to branch branch-3 in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 48e2b7e470b408b4a73bcc7fbca0a841dc671823 Author: Nick Dimiduk <[email protected]> AuthorDate: Fri Dec 12 16:58:57 2025 +0100 HBASE-29759 TestAsyncTableScan fails with tracing assert error (#7538) Retrieve the most recent span when validating results. Signed-off-by: Duo Zhang <[email protected]> --- .../java/org/apache/hadoop/hbase/client/TestAsyncTableScan.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 efd76677373..8479bd05221 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 @@ -120,7 +120,8 @@ public class TestAsyncTableScan extends AbstractTestAsyncTableScan { hasParentSpanId(parentSpanId), hasStatusWithCode(StatusCode.OK), 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<SpanData> onNextMatcher = hasName("TracedScanResultConsumer#onNext"); waitForSpan(onNextMatcher); @@ -157,7 +158,8 @@ public class TestAsyncTableScan extends AbstractTestAsyncTableScan { 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<SpanData> onErrorMatcher = hasName("TracedScanResultConsumer#onError"); waitForSpan(onErrorMatcher);
