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