diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Connection.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Connection.java index 90891f411ba..3ea13a44ed5 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Connection.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Connection.java @@ -109,16 +109,15 @@ public interface Connection extends Abortable, Closeable { /** *

* Retrieve a {@link BufferedMutator} for performing client-side buffering of writes. The - * {@link BufferedMutator} returned by this method is thread-safe. This BufferedMutator will - * use the Connection's ExecutorService. This object can be used for long lived operations. + * {@link BufferedMutator} returned by this method is thread-safe. + * This accessor will create a new ThreadPoolExecutor and will be shutdown once we close the + * BufferedMutator. This object can be used for long lived operations. *

*

* The caller is responsible for calling {@link BufferedMutator#close()} on * the returned {@link BufferedMutator} instance. *

*

- * This accessor will use the connection's ExecutorService and will throw an - * exception in the main thread when an asynchronous exception occurs. * * @param tableName the name of the table * @@ -129,7 +128,10 @@ public interface Connection extends Abortable, Closeable { /** * Retrieve a {@link BufferedMutator} for performing client-side buffering of writes. The * {@link BufferedMutator} returned by this method is thread-safe. This object can be used for - * long lived table operations. The caller is responsible for calling + * long lived table operations. If user passes ThreadPool in BufferedMutatorParams then we will + * use that otherwise we will create for the user. For user specified ThreadPool, it is the user's + * responsibility to shutdown. For ThreadPool created by us, we will shutdown when user calls + * {@link BufferedMutator#close()}. The caller is responsible for calling * {@link BufferedMutator#close()} on the returned {@link BufferedMutator} instance. * * @param params details on how to instantiate the {@code BufferedMutator}. diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java index bd6a6e5c71b..c88908fbb73 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java @@ -414,9 +414,6 @@ class ConnectionImplementation implements ClusterConnection, Closeable { if (params.getTableName() == null) { throw new IllegalArgumentException("TableName cannot be null."); } - if (params.getPool() == null) { - params.pool(HTable.getDefaultExecutor(getConfiguration())); - } if (params.getWriteBufferSize() == BufferedMutatorParams.UNSET) { params.writeBufferSize(connectionConfig.getWriteBufferSize()); }