Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
LLAP IO creates unallocated buffer objects inside the read-related data structures, then allocates them in bulk, then decompresses into them and increfs them.
If allocate or decompress steps fail, it's hard for the higher-level cleanup to tell what the state of the buffers in the read-related structures is - they may be unallocated, allocated but not incref-ed, or incref-ed.
Some cleanup paths only deal with the latter case, resulting in bugs.
Moreover, currently allocator returns partial results on such error. The allocation should be all-or-nothing.
This only happens on one path, others allocate and use buffers in a single place.
Attachments
Attachments
Issue Links
- links to