Yiqun Zhang created ORC-1147:
--------------------------------
Summary: Use `Objects.equals(dstas.getSum(), Double.NaN)` instead
of `isFinite` to determine if there is a NaN write
Key: ORC-1147
URL: https://issues.apache.org/jira/browse/ORC-1147
Project: ORC
Issue Type: Improvement
Components: Java
Affects Versions: 1.6.13, 1.7.3
Reporter: Yiqun Zhang
{code:java}
if (!Double.isFinite(dstas.getSum())) {
LOG.debug("Not using predication pushdown on {} because stats contain
NaN values",
predicate.getColumnName());
return dstas.hasNull() ? TruthValue.YES_NO_NULL : TruthValue.YES_NO;
}
}
{code}
The isFinite function does not determine whether there is a NaN write or not,
and there is a possibility of a sum overflow; we should use
`Objects.equals(dstas.getSum(), Double.NaN)` instead to determine this
--
This message was sent by Atlassian Jira
(v8.20.1#820001)