Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.21.0
-
None
Description
With the following data layout
/tmp/foo ├──a │ └──test_data.csvh └──b └──test_data.csvh
a LIMIT 0 query over it results in unfreed buffer errors.
apache drill (dfs.tmp)> select * from `foo` limit 0; Error: SYSTEM ERROR: IllegalStateException: Allocator[op:0:0:4:EasySubScan] closed with outstanding buffers allocated (3). Allocator(op:0:0:4:EasySubScan) 1000000/299008/3182592/10000000000 (res/actual/peak/limit) child allocators: 0 ledgers: 3 ledger[113] allocator: op:0:0:4:EasySubScan), isOwning: true, size: 262144, references: 1, life: 277785186322881..0, allocatorManager: [109, life: 277785186258906..0] holds 1 buffers. DrillBuf[142], udle: [110 0..262144] ledger[114] allocator: op:0:0:4:EasySubScan), isOwning: true, size: 32768, references: 1, life: 277785186463824..0, allocatorManager: [110, life: 277785186414654..0] holds 1 buffers. DrillBuf[143], udle: [111 0..32768] ledger[112] allocator: op:0:0:4:EasySubScan), isOwning: true, size: 4096, references: 1, life: 277785186046095..0, allocatorManager: [108, life: 277785185921147..0] holds 1 buffers. DrillBuf[141], udle: [109 0..4096] reservations: 0