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 161ba8845cd6939b912508906e734b530cc3c913
Author: Nick Dimiduk <[email protected]>
AuthorDate: Wed Dec 17 10:09:24 2025 +0100

    HBASE-29759 TestAsyncTableScan fails with tracing assert error (addendum) 
(#7557)
    
    Signed-off-by: Duo Zhang <[email protected]>
---
 .../apache/hadoop/hbase/client/TestAsyncTableScan.java   | 10 ++++++----
 .../hadoop/hbase/client/TestAsyncTableScanAll.java       | 10 ++++++----
 .../hadoop/hbase/client/TestAsyncTableScanner.java       | 10 ++++++----
 .../hadoop/hbase/client/TestRawAsyncTableScan.java       | 16 ++++++++++------
 4 files changed, 28 insertions(+), 18 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 8479bd05221..7cdb58c1260 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 @@ public class TestAsyncTableScan extends 
AbstractTestAsyncTableScan {
       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<SpanData> scanOperationSpanMatcher =
       allOf(hasName(startsWith("SCAN " + 
TABLE_NAME.getNameWithNamespaceInclAsString())),
@@ -149,8 +150,9 @@ public class TestAsyncTableScan extends 
AbstractTestAsyncTableScan {
       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<SpanData> 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 a59f1fa355b..8f2d3c5e814 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 @@ public class TestAsyncTableScanAll extends 
AbstractTestAsyncTableScan {
       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<SpanData> scanOperationSpanMatcher =
       allOf(hasName(startsWith("SCAN " + 
TABLE_NAME.getNameWithNamespaceInclAsString())),
@@ -124,8 +125,9 @@ public class TestAsyncTableScanAll extends 
AbstractTestAsyncTableScan {
       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<SpanData> 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 0da3e0ded58..54552639c75 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 @@ public class TestAsyncTableScanner extends 
AbstractTestAsyncTableScan {
       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 @@ public class TestAsyncTableScanner extends 
AbstractTestAsyncTableScan {
       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<SpanData> 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 b7a8fc9a017..758e1245bde 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 @@ public class TestRawAsyncTableScan extends 
AbstractTestAsyncTableScan {
       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<SpanData> scanOperationSpanMatcher =
       allOf(hasName(startsWith("SCAN " + 
TABLE_NAME.getNameWithNamespaceInclAsString())),
@@ -116,7 +117,8 @@ public class TestRawAsyncTableScan extends 
AbstractTestAsyncTableScan {
     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("TracedAdvancedScanResultConsumer#onNext");
     waitForSpan(onNextMatcher);
     spanStream().filter(onNextMatcher::matches)
@@ -145,8 +147,9 @@ public class TestRawAsyncTableScan extends 
AbstractTestAsyncTableScan {
       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<SpanData> scanOperationSpanMatcher =
       allOf(hasName(startsWith("SCAN " + 
TABLE_NAME.getNameWithNamespaceInclAsString())),
@@ -154,7 +157,8 @@ public class TestRawAsyncTableScan 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> onCompleteMatcher = 
hasName("TracedAdvancedScanResultConsumer#onError");
     waitForSpan(onCompleteMatcher);

Reply via email to