[
https://issues.apache.org/jira/browse/HIVE-4914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754685#comment-13754685
]
Phabricator commented on HIVE-4914:
-----------------------------------
ashutoshc has requested changes to the revision "HIVE-4914 [jira] filtering via
partition name should be done inside metastore server (implementation)".
Comments.
INLINE COMMENTS
metastore/if/hive_metastore.thrift:282 Can you add a comment here defining
this boolean?
metastore/if/hive_metastore.thrift:510 Instead of list of parameters, can you
define a struct which is passed in as an argument. That way in future if we
need to add another parameter for this function, it will still be back-compat.
metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java:252
Consider using MetaStoreUtils::newInstance() for this.
metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java:249 Can
you add a comment here saying this class is created via reflection to avoid
circular dependency on ql package?
metastore/if/hive_metastore.thrift:281 Set<Partition> instead of
list<Partition> ?
ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java:569 Why not enhance
existing deserializeExpressions() to allow it to throw exception? Or, atleast
reuse the common code.
metastore/src/java/org/apache/hadoop/hive/metastore/parser/ExpressionTree.java:494
Add description of @param FilterBuilder in javadoc here.
metastore/src/java/org/apache/hadoop/hive/metastore/parser/ExpressionTree.java:445
Update javadoc with new param.
metastore/src/java/org/apache/hadoop/hive/metastore/parser/ExpressionTree.java:418
Update javadoc.
metastore/src/java/org/apache/hadoop/hive/metastore/parser/ExpressionTree.java:113
ExpressionTree is getting too large. Better to put this class and
FilterBuilder in another file?
metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java:1887
With query.setRange() this is no longer required.
metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java:1944
Didn't get this. With this patch, Hive client wont do any work, right?
metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java:1971
This TODO is important to resolve. Can you follow up on this?
metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java:1965 Is
this just for tests? Or is it needed? Either way, can you add a comment for it.
metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java:5756
This class is getting too large. May be a good idea to put some of the helper
inner classes and methods in MetaStoreUtils class.
metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java:496
This class is also growing in size. Probably, put it in a seprate file along
with TreeVisitor.
REVISION DETAIL
https://reviews.facebook.net/D12561
BRANCH
HIVE-4914-no-gen
ARCANIST PROJECT
hive
To: JIRA, ashutoshc, sershe
> filtering via partition name should be done inside metastore server
> (implementation)
> ------------------------------------------------------------------------------------
>
> Key: HIVE-4914
> URL: https://issues.apache.org/jira/browse/HIVE-4914
> Project: Hive
> Issue Type: Improvement
> Components: Metastore
> Reporter: Sergey Shelukhin
> Assignee: Sergey Shelukhin
> Attachments: HIVE-4914.01.patch, HIVE-4914.D12561.1.patch,
> HIVE-4914-only-no-gen.patch, HIVE-4914-only.patch, HIVE-4914.patch,
> HIVE-4914.patch, HIVE-4914.patch
>
>
> Currently, if the filter pushdown is impossible (which is most cases), the
> client gets all partition names from metastore, filters them, and asks for
> partitions by names for the filtered set.
> Metastore server code should do that instead; it should check if pushdown is
> possible and do it if so; otherwise it should do name-based filtering.
> Saves the roundtrip with all partition names from the server to client, and
> also removes the need to have pushdown viability checking on both sides.
> NO PRECOMMIT TESTS
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira