Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
OrcEncodedDataReader - calls ensureDataReader in a loop, overwriting itself
for (int stripeIxMod = 0; stripeIxMod < stripeRgs.length; ++stripeIxMod) { .... // 6.2. Ensure we have stripe metadata. We might have read it before for RG filtering. if (stripeMetadatas != null) { stripeMetadata = stripeMetadatas.get(stripeIxMod); } else { ... ensureDataReader(); ... }
private void ensureDataReader() throws IOException { ... stripeReader = orcReader.encodedReader( fileKey, dw, dw, useObjectPools ? POOL_FACTORY : null, trace, useCodecPool, cacheTag);
creates new encodedReader without closing previous stripe's encoded reader.