This is an automated email from the ASF dual-hosted git repository.

stoty pushed a commit to branch PHOENIX_DUMMY_CELL_WORKAROUND
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit fc47ffd8c86c0e104bbd29f01ed023690cdb93d3
Author: Istvan Toth <[email protected]>
AuthorDate: Thu Nov 13 11:09:06 2025 +0100

    Do Not Commit!
    For testing only
    PHOENIX_DUMMY_CELL_WORKAROUND
---
 .../hbase/client/AsyncScanSingleRegionRpcRetryingCaller.java     | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.java
index 51a9a07c9a2..abc6eb72f6c 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.java
@@ -36,6 +36,7 @@ import java.util.Optional;
 import java.util.OptionalLong;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
+import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.HBaseServerException;
 import org.apache.hadoop.hbase.HConstants;
@@ -531,7 +532,13 @@ class AsyncScanSingleRegionRpcRetryingCaller {
     if (results.length > 0) {
       scanController = new ScanControllerImpl(
         resp.hasCursor() ? 
Optional.of(ProtobufUtil.toCursor(resp.getCursor())) : Optional.empty());
-      updateNextStartRowWhenError(results[results.length - 1]);
+      //FIXME quick hack to test Phoenix dummy cell compatibility
+      boolean isDummy = CellUtil.matchingColumn(results[0].listCells().get(0), 
new byte[0], new byte[0]);
+      if (!isDummy) {
+        updateNextStartRowWhenError(results[results.length - 1]);
+      } else {
+        LOG.error("XXXXX skipped updateNextStartRowWhenError for dummy cell", 
new Exception());
+      }
       consumer.onNext(results, scanController);
     } else {
       Optional<Cursor> cursor = Optional.empty();

Reply via email to