diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncBufferedMutator.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncBufferedMutator.java index e5f28d2e0602..b9c332ce5be3 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncBufferedMutator.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncBufferedMutator.java @@ -56,6 +56,9 @@ public interface AsyncBufferedMutator extends Closeable { * @param mutation The data to send. */ default CompletableFuture mutate(Mutation mutation) { + if (!(mutation instanceof Put) && !(mutation instanceof Delete)) { + throw new UnsupportedOperationException("Only supports Put and Delete mutation"); + } return Iterables.getOnlyElement(mutate(Collections.singletonList(mutation))); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorOverAsyncBufferedMutator.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorOverAsyncBufferedMutator.java index 72692eac59e5..a3649f17b081 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorOverAsyncBufferedMutator.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorOverAsyncBufferedMutator.java @@ -76,6 +76,9 @@ public Configuration getConfiguration() { @Override public void mutate(Mutation mutation) throws IOException { + if (!(mutation instanceof Put) && !(mutation instanceof Delete)) { + throw new UnsupportedOperationException("Only supports Put and Delete mutation"); + } mutate(Collections.singletonList(mutation)); }