mirror of
https://github.com/apache/impala.git
synced 2026-01-05 12:01:11 -05:00
The following use of sequence file writer can lead to a crash: > set compression_codec=gzip; > set seq_compression_mode=record; > set allow_unsupported_formats=1; > create table seq_tbl like tbl stored as sequencefile; > insert into seq_tbl select * from tbl; This fix removes the MemPool::FreeAll() call from HdfsSequenceTableWriter::Flush(). Freeing the memory pool in Flush() is incorrect because a memory pool buffer is cached by the compressor in the table writer which isn't reset across calls to Flush(). If the file that is being written is big enough, HdfsSequenceTableWriter::AppendRows() will call Flush() multiple times causing memory corruption. Change-Id: Ida0b9f189175358ae54149d0e1af7caa06ae3bec Reviewed-on: http://gerrit.cloudera.org:8080/7394 Reviewed-by: Michael Ho <kwho@cloudera.com> Tested-by: Impala Public Jenkins
8.9 KiB
8.9 KiB