From 552fa30b2edf5287f9e93396c3cfb471265806e7 Mon Sep 17 00:00:00 2001 From: liuxiaocs7 Date: Wed, 21 Oct 2026 11:26:19 +0800 Subject: [PATCH 1/2] HBASE-30486 Fix XOR used instead of exponentiation in VerifyReplication backoff --- .../replication/VerifyReplicationRecompareRunnable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java index 47f5e606b846..15ab856360b3 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java @@ -109,7 +109,7 @@ public void run() { } } - sleepMs = sleepMs * (2 ^ reCompareBackoffExponent); + sleepMs = (int) (sleepMs * Math.pow(2, reCompareBackoffExponent)); } LOG.error("{}, rowkey={}{}{}", originalCounter, delimiter, Bytes.toStringBinary(row), From a6b89e52274382c90e70299b4609bfc33e12de86 Mon Sep 17 00:00:00 2001 From: liuxiaocs7 Date: Fri, 23 Oct 2026 22:26:06 +0800 Subject: [PATCH 2/2] address comments --- .../replication/VerifyReplicationRecompareRunnable.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java index 15ab856360b3..713685b5f4d1 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplicationRecompareRunnable.java @@ -75,7 +75,7 @@ public void run() { get.setCacheBlocks(tableScan.getCacheBlocks()); get.setFilter(tableScan.getFilter()); - int sleepMs = sleepMsBeforeReCompare; + long sleepMs = sleepMsBeforeReCompare; int tries = 0; while (++tries <= reCompareTries) { @@ -109,7 +109,7 @@ public void run() { } } - sleepMs = (int) (sleepMs * Math.pow(2, reCompareBackoffExponent)); + sleepMs = (long) (sleepMs * Math.pow(2, reCompareBackoffExponent)); } LOG.error("{}, rowkey={}{}{}", originalCounter, delimiter, Bytes.toStringBinary(row),