Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.2 ec667e13e -> d3ff31699
  refs/heads/4.x-HBase-1.3 4d8c5d43c -> d8a78e19d
  refs/heads/4.x-HBase-1.4 61ce0eac6 -> 8b9a51785
  refs/heads/master ba1fd712a -> 2084a6cce


PHOENIX-4903 Use same hash cache RPC message across all calls

Signed-off-by: Josh Elser <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/2084a6cc
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/2084a6cc
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/2084a6cc

Branch: refs/heads/master
Commit: 2084a6ccefe27e4a5c0e8073fc0302d94ca8548c
Parents: ba1fd71
Author: Marcell Ortutay <[email protected]>
Authored: Sat Sep 15 21:13:54 2018 -0700
Committer: Josh Elser <[email protected]>
Committed: Tue Sep 18 14:16:46 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/2084a6cc/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 9efa6bc..822e255 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();
                         }

Reply via email to