apache / drill

Apache Drill is a distributed MPP query layer for self describing data
https://drill.apache.org/
Apache License 2.0
1.95k stars 979 forks source link

DRILL-8479: Merge Join Leak When Depleting Incoming Batches Throw Exception #2878

Closed shfshihuafeng closed 8 months ago

shfshihuafeng commented 10 months ago

DRILL-8479: Merge Join Leak When Depleting Incoming Batches Throw Exception

Description

when fragment failed, it call close() from MergeJoinBatch. but if leftIterator.close() throw exception, we could not call rightIterator.close() to release memory。

Relates to: (#2876)

Documentation

(Please describe user-visible changes similar to what should appear in the Drill documentation.)

Testing

The test method is the same with link, only one parameter needs to be modified, set planner.enable_hashjoin =false to ensure use mergejoin operator link DRILL-8478: HashPartition memory leak when it allocate memory exception with OutOfMemoryException (#2874)