Grant Henke has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/16031


Change subject: KUDU-1802: Avoid call to master when deserializing scan tokens
......................................................................

KUDU-1802: Avoid call to master when deserializing scan tokens

This patch adds a new table metadata field to the scan token
which contains all of the metadata required to construct a
KuduTable in the clients. This means an RPC call to the
master is no longer required when deserializing the scan token.
The old table name and table id fields are used as a fallback to
maintain backwards compatibility.

Adding the table metadata to the scan token is enabled by
default given it’s more scalable and performant. However,
it can be disabled in rare cases where more resiliancy to
column renaming is desired. One example where disabling the
table metadata is used is the backup job. Future work, should
allow for table metadata to be leveraged in those cases as well.

This doesn’t avoid the need for a call to the master in the case
of producing data to Kudu, that work is tracked by KUDU-3135.
I expect the TableMetadataPB message would be used there as
well.

Change-Id: I88c1b8392de37dd5e8b7bd8b78a21603ff8b1d1b
---
M java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduBackupRDD.scala
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ProtobufHelper.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/client.proto
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/scan_token-internal.h
M src/kudu/client/scan_token-test.cc
10 files changed, 212 insertions(+), 20 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/31/16031/1
--
To view, visit http://gerrit.cloudera.org:8080/16031
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I88c1b8392de37dd5e8b7bd8b78a21603ff8b1d1b
Gerrit-Change-Number: 16031
Gerrit-PatchSet: 1
Gerrit-Owner: Grant Henke <[email protected]>

Reply via email to