You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by nd...@apache.org on 2025/12/19 19:47:31 UTC
(hbase) 02/02: HBASE-29759 TestAsyncTableScan fails with tracing assert error (addendum) (#7557)
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 <nd...@apache.org>
AuthorDate: Wed Dec 17 10:09:24 2025 +0100
HBASE-29759 TestAsyncTableScan fails with tracing assert error (addendum) (#7557)
Signed-off-by: Duo Zhang <zh...@apache.org>
---
.../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);