This is an automated email from the ASF dual-hosted git repository.
ndimiduk pushed a commit to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.6 by this push:
new bac7a89cde8 HBASE-29204: BufferedMutatorParams#clone() should copy the
requestAttributes field (#6823)
bac7a89cde8 is described below
commit bac7a89cde8b39dda78140602345158652aa0176
Author: Charles Connell <[email protected]>
AuthorDate: Fri Apr 25 05:17:17 2025 -0400
HBASE-29204: BufferedMutatorParams#clone() should copy the
requestAttributes field (#6823)
Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Pankaj <[email protected]>
---
.../java/org/apache/hadoop/hbase/client/BufferedMutatorParams.java | 3 +++
.../org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorParams.java
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorParams.java
index de414cb8623..3f13ee9834b 100644
---
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorParams.java
+++
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorParams.java
@@ -24,6 +24,8 @@ import java.util.concurrent.ExecutorService;
import org.apache.hadoop.hbase.TableName;
import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.hbase.thirdparty.com.google.common.collect.Maps;
+
/**
* Parameters for instantiating a {@link BufferedMutator}.
*/
@@ -223,6 +225,7 @@ public class BufferedMutatorParams implements Cloneable {
clone.writeBufferPeriodicFlushTimerTickMs =
this.writeBufferPeriodicFlushTimerTickMs;
clone.maxKeyValueSize = this.maxKeyValueSize;
clone.maxMutations = this.maxMutations;
+ clone.requestAttributes = Maps.newHashMap(this.requestAttributes);
clone.pool = this.pool;
clone.listener = this.listener;
clone.implementationClassName = this.implementationClassName;
diff --git
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
index fdc7c305500..b6c52a0cd0d 100644
---
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
+++
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.Callable;
@@ -141,7 +142,8 @@ public class TestBufferedMutatorParams {
BufferedMutator.ExceptionListener listener = new MockExceptionListener();
bmp.writeBufferSize(17).setWriteBufferPeriodicFlushTimeoutMs(123)
.setWriteBufferPeriodicFlushTimerTickMs(456).maxKeyValueSize(13).setMaxMutations(3737)
- .pool(pool).listener(listener);
+ .setRequestAttribute("foo",
"bar".getBytes(StandardCharsets.UTF_8)).pool(pool)
+ .listener(listener);
bmp.implementationClassName("someClassName");
BufferedMutatorParams clone = bmp.clone();
@@ -180,6 +182,7 @@ public class TestBufferedMutatorParams {
clone.getWriteBufferPeriodicFlushTimerTickMs());
assertEquals(some.getMaxKeyValueSize(), clone.getMaxKeyValueSize());
assertTrue(some.getMaxMutations() == clone.getMaxMutations());
+ assertEquals(some.requestAttributes, clone.requestAttributes);
assertTrue(some.getListener() == clone.getListener());
assertTrue(some.getPool() == clone.getPool());
assertEquals(some.getImplementationClassName(),
clone.getImplementationClassName());