diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java b/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java index aa4b648..b67e88b 100644 --- a/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java +++ b/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java @@ -33,11 +33,16 @@ import org.apache.hadoop.conf.Configuration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * The implementation of SearchArguments. Visible for testing only. */ public final class SearchArgumentImpl implements SearchArgument { + private static final Logger LOG = LoggerFactory.getLogger(SearchArgumentImpl.class); + public static final class PredicateLeafImpl implements PredicateLeaf { private final Operator operator; private final Type type; @@ -116,11 +121,16 @@ public Object getLiteral() { public List getLiteralList() { if (literalList != null && literalList.size() > 0 && literalList.get(0) instanceof LiteralDelegate) { List newLiteraList = new ArrayList(); - for (Object litertalObj : literalList) { - Object literal = ((LiteralDelegate) litertalObj).getLiteral(); - if (literal != null) { - newLiteraList.add(literal); + try { + for (Object litertalObj : literalList) { + Object literal = ((LiteralDelegate) litertalObj).getLiteral(); + if (literal != null) { + newLiteraList.add(literal); + } } + } catch (Exception err) { + LOG.debug("Error while retrieving literalList, returning null", err); + return null; } return newLiteraList; }