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);

Reply via email to