[jira] [Commented] (HIVE-3278) Create wrappers around Thrift Metastore objects for improved readability
[ https://issues.apache.org/jira/browse/HIVE-3278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13425931#comment-13425931 ] Travis Crawford commented on HIVE-3278: --- SGTM Create wrappers around Thrift Metastore objects for improved readability Key: HIVE-3278 URL: https://issues.apache.org/jira/browse/HIVE-3278 Project: Hive Issue Type: Improvement Components: Metastore Reporter: Carl Steinbach Assignee: Carl Steinbach -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HIVE-3278) Create wrappers around Thrift Metastore objects for improved readability
[ https://issues.apache.org/jira/browse/HIVE-3278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13425382#comment-13425382 ] Carl Steinbach commented on HIVE-3278: -- bq. FWIW, having two sets of identically named classes (stuff under metastore.api ql.metadata) has already caused some confusion. Typically this confusion has been people using the metastore.api versions not realizing ql.metadata adds some business logic. This is precisely the problem I'm trying to solve. I'm proposing that we extend each of the Thrift types with a lightweight wrapper where the subclass name is prefixed with a T, e.g. o.a.h.hive.metastore.api.Table would be extended by o.a.hive.metastore.api.thrift.TTable, etc, and then replace all of the references to o.a.h.hive.metastore.api.* classes with the corresponding o.a.hive.metastore.api.thrift.T* classes. It would have been nice if this had been done originally in the Thrift IDL, but that didn't happen, and we can't change it now without breaking backward compatibility. My goal in doing this is to make the code more readable (e.g. get rid of those awful canonical class name references), as well as to highlight the fact that we have Thrift types polluting the code. The Hive source should only reference Thrift types immediately above and below the Thrift interface layer. In all other places it should be decoupled from the Thrift interface and types, and should instead use types similar to the ones in ql.metadata. Create wrappers around Thrift Metastore objects for improved readability Key: HIVE-3278 URL: https://issues.apache.org/jira/browse/HIVE-3278 Project: Hive Issue Type: Improvement Components: Metastore Reporter: Carl Steinbach Assignee: Carl Steinbach -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HIVE-3278) Create wrappers around Thrift Metastore objects for improved readability
[ https://issues.apache.org/jira/browse/HIVE-3278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13425466#comment-13425466 ] Travis Crawford commented on HIVE-3278: --- Totally agree with the sentiment. What are your thoughts on renaming {{org.apache.hadoop.hive.ql.metadata}} classes something like {{MTable}} (prefixed with M or some other letter) and using them in the code whenever possible. This would distinguish the two sets of classes without adding yet another set. Create wrappers around Thrift Metastore objects for improved readability Key: HIVE-3278 URL: https://issues.apache.org/jira/browse/HIVE-3278 Project: Hive Issue Type: Improvement Components: Metastore Reporter: Carl Steinbach Assignee: Carl Steinbach -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HIVE-3278) Create wrappers around Thrift Metastore objects for improved readability
[ https://issues.apache.org/jira/browse/HIVE-3278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13425476#comment-13425476 ] Carl Steinbach commented on HIVE-3278: -- The 'M' prefix is is already spoken for. We use it as the prefix for the Modeled objects that Datanucleus persists to the metastore, e.g. o.a.h.hive.metastore.model.MTable. I suppose we could prefix the stuff in ql.metadata with an 'H', but before we do that I'd first like to move that code over to the metastore package and do some other cleanup work. Also, we should eventually wrap the HiveMetaStoreClient library with an improved version that uses the H* types instead of the raw Thrift types. Create wrappers around Thrift Metastore objects for improved readability Key: HIVE-3278 URL: https://issues.apache.org/jira/browse/HIVE-3278 Project: Hive Issue Type: Improvement Components: Metastore Reporter: Carl Steinbach Assignee: Carl Steinbach -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HIVE-3278) Create wrappers around Thrift Metastore objects for improved readability
[ https://issues.apache.org/jira/browse/HIVE-3278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13422106#comment-13422106 ] Ashutosh Chauhan commented on HIVE-3278: Totally agree with Travis. We already have metastore objects represented via 2 different ways in: {{org.apache.hadoop.hive.ql.metadata}} and {{org.apache.hadoop.hive.metastore.api}} with logic spread across both the layers. Adding another set of wrapper objects will only increase the confusion. Create wrappers around Thrift Metastore objects for improved readability Key: HIVE-3278 URL: https://issues.apache.org/jira/browse/HIVE-3278 Project: Hive Issue Type: Improvement Components: Metastore Reporter: Carl Steinbach Assignee: Carl Steinbach -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HIVE-3278) Create wrappers around Thrift Metastore objects for improved readability
[ https://issues.apache.org/jira/browse/HIVE-3278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13418733#comment-13418733 ] Travis Crawford commented on HIVE-3278: --- Hey [~cwsteinbach] - can you clarify what you mean by wrappers? There are wrappers already (for example https://github.com/apache/hive/blob/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java) and I'm curious what the distinction will be. FWIW, having two sets of identically named classes (stuff under metastore.api ql.metadata) has already caused some confusion. Typically this confusion has been people using the metastore.api versions not realizing ql.metadata adds some business logic. Create wrappers around Thrift Metastore objects for improved readability Key: HIVE-3278 URL: https://issues.apache.org/jira/browse/HIVE-3278 Project: Hive Issue Type: Improvement Components: Metastore Reporter: Carl Steinbach Assignee: Carl Steinbach -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira