From 260827a3dc002e4708d65e2366e0d6dc07596d1e Mon Sep 17 00:00:00 2001 From: Guanghao Zhang Date: Thu, 25 Oct 2018 14:47:27 +0800 Subject: [PATCH] HBASE-21385 HTable.delete request use rpc call directly instead of AsyncProcess --- .../org/apache/hadoop/hbase/client/HTable.java | 43 +++++++--------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java index 69ec366..66c5016 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java @@ -487,35 +487,20 @@ public class HTable implements Table { } @Override - public void delete(final Delete delete) - throws IOException { - CancellableRegionServerCallable callable = - new CancellableRegionServerCallable( - connection, getName(), delete.getRow(), this.rpcControllerFactory.newController(), - writeRpcTimeoutMs, new RetryingTimeTracker().start(), delete.getPriority()) { - @Override - protected SingleResponse rpcCall() throws Exception { - MutateRequest request = RequestConverter.buildMutateRequest( - getLocation().getRegionInfo().getRegionName(), delete); - MutateResponse response = doMutate(request); - return ResponseConverter.getResult(request, response, getRpcControllerCellScanner()); - } - }; - List rows = Collections.singletonList(delete); - AsyncProcessTask task = AsyncProcessTask.newBuilder() - .setPool(pool) - .setTableName(tableName) - .setRowAccess(rows) - .setCallable(callable) - .setRpcTimeout(writeRpcTimeoutMs) - .setOperationTimeout(operationTimeoutMs) - .setSubmittedRows(AsyncProcessTask.SubmittedRows.ALL) - .build(); - AsyncRequestFuture ars = multiAp.submit(task); - ars.waitUntilDone(); - if (ars.hasError()) { - throw ars.getErrors(); - } + public void delete(final Delete delete) throws IOException { + ClientServiceCallable callable = + new ClientServiceCallable(this.connection, getName(), delete.getRow(), + this.rpcControllerFactory.newController(), delete.getPriority()) { + @Override + protected Void rpcCall() throws Exception { + MutateRequest request = RequestConverter + .buildMutateRequest(getLocation().getRegionInfo().getRegionName(), delete); + doMutate(request); + return null; + } + }; + rpcCallerFactory.newCaller(this.writeRpcTimeoutMs) + .callWithRetries(callable, this.operationTimeoutMs); } @Override -- 2.7.4