diff --git a/src/main/java/com/alipay/oceanbase/hbase/OHTable.java b/src/main/java/com/alipay/oceanbase/hbase/OHTable.java index a8c2c1bc..b06e24c0 100644 --- a/src/main/java/com/alipay/oceanbase/hbase/OHTable.java +++ b/src/main/java/com/alipay/oceanbase/hbase/OHTable.java @@ -1357,13 +1357,10 @@ public Result append(Append append) throws IOException { // the later hbase has supported timeRange ObHTableFilter filter = buildObHTableFilter(null, null, 1, qualifiers); ObTableQuery obTableQuery = buildObTableQuery(filter, r, true, r, true, false); - ObTableQueryAndMutate queryAndMutate = new ObTableQueryAndMutate(); - queryAndMutate.setTableQuery(obTableQuery); - queryAndMutate.setMutations(batchOperation); ObTableQueryAndMutateRequest request = buildObTableQueryAndMutateRequest(obTableQuery, batchOperation, getTargetTableName(tableNameString, Bytes.toString(f), configuration)); - request.setReturningAffectedEntity(true); + request.setReturningAffectedEntity(append.isReturnResults()); ObTableQueryAndMutateResult result = (ObTableQueryAndMutateResult) obTableClient .execute(request); ObTableQueryResult queryResult = result.getAffectedEntity(); @@ -1412,7 +1409,7 @@ public Result increment(Increment increment) throws IOException { ObTableQueryAndMutateRequest request = buildObTableQueryAndMutateRequest(obTableQuery, batch, getTargetTableName(tableNameString, Bytes.toString(f), configuration)); - request.setReturningAffectedEntity(true); + request.setReturningAffectedEntity(increment.isReturnResults()); ObTableQueryAndMutateResult result = (ObTableQueryAndMutateResult) obTableClient .execute(request); ObTableQueryResult queryResult = result.getAffectedEntity(); @@ -2161,7 +2158,6 @@ private ObTableQueryAndMutateRequest buildObTableQueryAndMutateRequest(ObTableQu request.setTableName(targetTableName); request.setTableQueryAndMutate(queryAndMutate); request.setEntityType(ObTableEntityType.HKV); - request.setReturningAffectedEntity(true); return request; } diff --git a/src/main/java/com/alipay/oceanbase/hbase/OHTableClient.java b/src/main/java/com/alipay/oceanbase/hbase/OHTableClient.java index c20c2bcb..3a97a74d 100644 --- a/src/main/java/com/alipay/oceanbase/hbase/OHTableClient.java +++ b/src/main/java/com/alipay/oceanbase/hbase/OHTableClient.java @@ -44,7 +44,7 @@ public class OHTableClient implements HTableInterface, Lifecycle { private OHTable ohTable; private volatile boolean initialized = false; private final Configuration conf; - private ExecutorService runtimeBatchExecutor; + private ExecutorService runtimeBatchExecutor = null; public void setRuntimeBatchExecutor(ExecutorService runtimeBatchExecutor) { this.runtimeBatchExecutor = runtimeBatchExecutor; @@ -82,7 +82,11 @@ public void init() throws Exception { lock.lock(); try { if (!initialized) { - ohTable = new OHTable(conf, tableNameString); + if (runtimeBatchExecutor != null) { + ohTable = new OHTable(conf, tableName, runtimeBatchExecutor); + } else { + ohTable = new OHTable(conf, tableNameString); + } initialized = true; } } finally {