[
https://issues.apache.org/jira/browse/HIVE-18873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16392656#comment-16392656
]
Ankit Singhal commented on HIVE-18873:
--------------------------------------
bq. IIRC, storage handlers use hive.optimize.ppd.storage to push filters down
to storage handlers. Maybe we can restrict this only when
hive.optimize.index.filters is used so that storage handlers don't get impacted
by HIVE-15680.
[~prasanth_j], How about skipping this check when storage handlers implement
HiveStoragePredicateHandler?
AFAICS, Actually, the storage handlers were receiving the right predicate for
respective alias while creating the input splits. So once the split is created,
we don't need to push down filter again during recordReader as InputFormat
should be carrying all required info through their custom InputSplit. (though
it seems not true for HiveHBaseTableInputFormat only).
> Skipping predicate pushdown for MR silently at HiveInputFormat can cause
> storage handlers to produce erroneous result
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-18873
> URL: https://issues.apache.org/jira/browse/HIVE-18873
> Project: Hive
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: Ankit Singhal
> Assignee: Ankit Singhal
> Priority: Major
> Fix For: 3.0.0
>
> Attachments: HIVE-18873.patch
>
>
> {code:java}
> // disable filter pushdown for mapreduce when there are more than one table
> aliases,
> // since we don't clone jobConf per alias
> if (mrwork != null && mrwork.getAliases() != null &&
> mrwork.getAliases().size() > 1 &&
> jobConf.get(ConfVars.HIVE_EXECUTION_ENGINE.varname).equals("mr")) {
> return;
> }
> {code}
> I believe this needs to be handled at OpProcFactory so that hive doesn't
> believe that predicate is handled by storage handler.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)