You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by el...@apache.org on 2018/09/18 18:59:25 UTC
[3/4] phoenix git commit: PHOENIX-4903 Use same hash cache RPC
message across all calls
PHOENIX-4903 Use same hash cache RPC message across all calls
Signed-off-by: Josh Elser <el...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/d8a78e19
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/d8a78e19
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/d8a78e19
Branch: refs/heads/4.x-HBase-1.3
Commit: d8a78e19d9c1984d5ae3d8bdfe55fcec5a9b983f
Parents: 4d8c5d4
Author: Marcell Ortutay <ma...@gmail.com>
Authored: Sat Sep 15 21:13:54 2018 -0700
Committer: Josh Elser <el...@apache.org>
Committed: Tue Sep 18 14:30:10 2018 -0400
----------------------------------------------------------------------
.../apache/phoenix/cache/ServerCacheClient.java | 61 ++++++++++----------
1 file changed, 32 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/d8a78e19/phoenix-core/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java b/phoenix-core/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
index 011a6f8..93d16f5 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
@@ -486,6 +486,37 @@ public class ServerCacheClient {
throws Exception {
byte[] keyInRegion = getKeyInRegion(key);
final Map<byte[], AddServerCacheResponse> results;
+
+ AddServerCacheRequest.Builder builder = AddServerCacheRequest.newBuilder();
+ final byte[] tenantIdBytes;
+ if (cacheUsingTable.isMultiTenant()) {
+ try {
+ tenantIdBytes = connection.getTenantId() == null ? null
+ : ScanUtil.getTenantIdBytes(cacheUsingTable.getRowKeySchema(),
+ cacheUsingTable.getBucketNum() != null, connection.getTenantId(),
+ cacheUsingTable.getViewIndexId() != null);
+ } catch (SQLException e) {
+ throw new IOException(e);
+ }
+ } else {
+ tenantIdBytes = connection.getTenantId() == null ? null
+ : connection.getTenantId().getBytes();
+ }
+ if (tenantIdBytes != null) {
+ builder.setTenantId(ByteStringer.wrap(tenantIdBytes));
+ }
+ builder.setCacheId(ByteStringer.wrap(cacheId));
+ builder.setUsePersistentCache(usePersistentCache);
+ builder.setCachePtr(org.apache.phoenix.protobuf.ProtobufUtil.toProto(cachePtr));
+ builder.setHasProtoBufIndexMaintainer(true);
+ ServerCacheFactoryProtos.ServerCacheFactory.Builder svrCacheFactoryBuider = ServerCacheFactoryProtos.ServerCacheFactory
+ .newBuilder();
+ svrCacheFactoryBuider.setClassName(cacheFactory.getClass().getName());
+ builder.setCacheFactory(svrCacheFactoryBuider.build());
+ builder.setTxState(ByteStringer.wrap(txState));
+ builder.setClientVersion(MetaDataProtocol.PHOENIX_VERSION);
+ final AddServerCacheRequest request = builder.build();
+
try {
results = htable.coprocessorService(ServerCachingService.class, keyInRegion, keyInRegion,
new Batch.Call<ServerCachingService, AddServerCacheResponse>() {
@@ -493,35 +524,7 @@ public class ServerCacheClient {
public AddServerCacheResponse call(ServerCachingService instance) throws IOException {
ServerRpcController controller = new ServerRpcController();
BlockingRpcCallback<AddServerCacheResponse> rpcCallback = new BlockingRpcCallback<AddServerCacheResponse>();
- AddServerCacheRequest.Builder builder = AddServerCacheRequest.newBuilder();
- final byte[] tenantIdBytes;
- if (cacheUsingTable.isMultiTenant()) {
- try {
- tenantIdBytes = connection.getTenantId() == null ? null
- : ScanUtil.getTenantIdBytes(cacheUsingTable.getRowKeySchema(),
- cacheUsingTable.getBucketNum() != null, connection.getTenantId(),
- cacheUsingTable.getViewIndexId() != null);
- } catch (SQLException e) {
- throw new IOException(e);
- }
- } else {
- tenantIdBytes = connection.getTenantId() == null ? null
- : connection.getTenantId().getBytes();
- }
- if (tenantIdBytes != null) {
- builder.setTenantId(ByteStringer.wrap(tenantIdBytes));
- }
- builder.setCacheId(ByteStringer.wrap(cacheId));
- builder.setUsePersistentCache(usePersistentCache);
- builder.setCachePtr(org.apache.phoenix.protobuf.ProtobufUtil.toProto(cachePtr));
- builder.setHasProtoBufIndexMaintainer(true);
- ServerCacheFactoryProtos.ServerCacheFactory.Builder svrCacheFactoryBuider = ServerCacheFactoryProtos.ServerCacheFactory
- .newBuilder();
- svrCacheFactoryBuider.setClassName(cacheFactory.getClass().getName());
- builder.setCacheFactory(svrCacheFactoryBuider.build());
- builder.setTxState(ByteStringer.wrap(txState));
- builder.setClientVersion(MetaDataProtocol.PHOENIX_VERSION);
- instance.addServerCache(controller, builder.build(), rpcCallback);
+ instance.addServerCache(controller, request, rpcCallback);
if (controller.getFailedOn() != null) { throw controller.getFailedOn(); }
return rpcCallback.get();
}