This is regarding https://issues.apache.org/jira/browse/HIVE-2799

I am working on adding a new string parameter to most metastore RPCs  which 
either create, get, or drop a table, partition, or index.  This can either be 
done by

  1.  adding the parameter to the existing RPCs and modifying 
HiveMetaStoreClient.java to wrap these using the old RPC's, or
  2.  adding new, nearly duplicate, RPCs which take the parameter.

Option 1, will break any existing Thrift clients other than 
HiveMetaStoreClient.java once the user updates ThriftHiveMetastore.java. The 
calls to the modified RPCs will need to be updated to pass some value, in place 
of the parameter even if the user doesn’t plan to use the new feature( in which 
case they can pass null)

However, Option 1 will reduce code duplication, and keep the interface simpler.

I wanted to get a sense of how many people are using Thrift clients other than 
HiveMetaStoreClient.java, and which option is generally preferred.

I am, of course, also open to other ideas.

- Kevin Wilfong

Reply via email to