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