shihuafeng created DRILL-8484:
---------------------------------
Summary: An oom exception occurred When read data from Stream with
container ,resulting in hashJoinPOP memory leak
Key: DRILL-8484
URL: https://issues.apache.org/jira/browse/DRILL-8484
Project: Apache Drill
Issue Type: Bug
Components: Server
Affects Versions: 1.21.1
Reporter: shihuafeng
Fix For: 1.22.0
*Describe the bug*
An oom exception occurred When read data from Stream with container ,resulting
in hashJoinPOP memory leak
*To Reproduce*
prepare data for tpch 1s
# 30 concurrent for tpch sql8
# set direct memory 5g
# when it had OutOfMemoryException , stopped all sql.
# finding memory leak
*leak info*
{code:java}
Allocator(frag:5:0) 5000000/1000000/31067136/40041943040
(res/actual/peak/limit)
child allocators: 1
Allocator(op:5:0:1:HashJoinPOP) 1000000/16384/22822912/41943040
(res/actual/peak/limit)
child allocators: 0
ledgers: 2
ledger[1882757] allocator: op:5:0:1:HashJoinPOP), isOwning: true,
size: 8192, references: 2, life: 16936270178816167..0, allocatorManager:
[1703465, life: 16936270178813617..0] holds 4 buffers.
DrillBuf[2041995], udle: [1703441 0..957]{code}
execption info
{code:java}
Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Unable to
allocate buffer of size 16384 (rounded from 14359) due to memory limit
(41943040). Current allocation: 22583616
at org.apache.drill.exec.memory.BaseAllocator.buffer(BaseAllocator.java:241)
at org.apache.drill.exec.memory.BaseAllocator.buffer(BaseAllocator.java:216)
at
org.apache.drill.exec.cache.VectorAccessibleSerializable.readFromStreamWithContainer(VectorAccessibleSerializable.java:172)
at
org.apache.drill.exec.physical.impl.aggregate.SpilledRecordBatch.next(SpilledRecordBatch.java:157)
... 18 common frames omitted{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)