[ https://issues.apache.org/jira/browse/HIVE-11229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14635470#comment-14635470 ]
Alan Gates commented on HIVE-11229: ----------------------------------- +1 > Mutation API: Coordinator communication with meta store should be optional > -------------------------------------------------------------------------- > > Key: HIVE-11229 > URL: https://issues.apache.org/jira/browse/HIVE-11229 > Project: Hive > Issue Type: Bug > Components: HCatalog > Affects Versions: 2.0.0 > Reporter: Elliot West > Assignee: Elliot West > Labels: streaming_api > Attachments: HIVE-11229.1.patch > > > [~ekoifman] raised a theoretical issue with the streaming mutation API > (HIVE-10165) where worker nodes operating in a distributed cluster might > overwhelm a meta store while trying to obtain partition locks. Although this > does not happen in practice (see HIVE-11228), the API does communicate with > the meta store in this manner to obtain partition paths and create new > partitions. Therefore the issue described does in fact exist in the current > implementation, albeit in a different code path. I’d like to make such > communication optional like so: > * When the user chooses not to create partitions on demand, no meta store > connection will be created in the {{MutationCoordinators}}. Additionally, > partition paths will be resolved using > {{org.apache.hadoop.hive.metastore.Warehouse.getPartitionPath(Path, > LinkedHashMap<String, String>)}} which should be suitable so long as standard > Hive partition layouts are followed. > * If the user does choose to create partitions on demand then the system will > operate as is does currently; using the meta store to both issue > {{add_partition}} events and look up partition meta data. > * The documentation will be updated to describe these behaviours and outline > alternative approaches to collecting affected partition names and creating > partitions in a less intensive manner. > Side note for follow up: The parameter names {{tblName}} and {{dbName}} seem > to be the wrong way around on the method > {{org.apache.hadoop.hive.metastore.IMetaStoreClient.getPartition(String, > String, List<String>)}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)