Karthik Manamcheri created HIVE-20634: -----------------------------------------
Summary: DirectSQL does not retry in ORM mode while getting partitions by filter Key: HIVE-20634 URL: https://issues.apache.org/jira/browse/HIVE-20634 Project: Hive Issue Type: Bug Reporter: Karthik Manamcheri Assignee: Karthik Manamcheri The code path for getting partitions by filter is as follows, {code:java} protected List<Partition> getPartitionsByFilterInternal(..) { ... @Override protected boolean canUseDirectSql(GetHelper<List<Partition>> ctx) throws MetaException { return directSql.generateSqlFilterForPushdown(ctx.getTable(), tree, filter); } ... } {code} If directSql.generateSqlFilterForPushdown throws an exception, we should be returning false from canUseDirectSql instead of propagating the exception. The propagation of exception causes the whole query to fail, instead of retrying with JDO. We should have code such as {code:java} @Override protected boolean canUseDirectSql(GetHelper<Integer> ctx) throws MetaException { try { return directSql.generateSqlFilterForPushdown(ctx.getTable(), exprTree, filter); } catch (final MetaException me) { return false; } } {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)