Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
When a streaming write commits a mid-batch write with connection.commitTransaction() then it tries to flush the sideFile with OrcInputFormat.SHIMS.hflush(flushLengths). This uses FSOutputSummer.flush, which does not flush the buffer data to the disk so the actual data is not written.
Had to remove the check from the end of the streaming tests in TestCrudCompactorOnTez.java
CompactorTestUtilities.checkAcidVersion(fs.listFiles(new Path(table.getSd().getLocation()), true), fs, conf.getBoolVar(HiveConf.ConfVars.HIVE_WRITE_ACID_VERSION_FILE), new String[] { AcidUtils.DELTA_PREFIX });
These checks verifies the _flush_length files, and they would fail otherwise.