@Override public synchronized void init(Properties properties) { final Metadata metadata = new Metadata(); metadata.put(MetaConstants.STORE_TYPE.asMetaKey(), storeInfo.getType()); metadata.put(MetaConstants.TABLE_NAME.asMetaKey(), storeInfo.getTableName()); metadata.put(MetaConstants.NAME_SPACE.asMetaKey(), storeInfo.getNameSpace()); metadata.put(MetaConstants.FRAGMENT.asMetaKey(), storeInfo.getFragment() + ""); String host = properties.getProperty("host"); int port = -1; Object portObj = properties.get("port"); if (portObj instanceof String) { port = Integer.valueOf(portObj.toString()); } else { port = (int) properties.get("port"); } channel = NettyChannelBuilder.forAddress(host, port).usePlaintext().maxInboundMessageSize(maxMessageSize).build(); blockingStub = MetadataUtils.attachHeaders(KVServiceGrpc.newBlockingStub(channel), metadata); stub = MetadataUtils.attachHeaders(KVServiceGrpc.newStub(channel), metadata); }