drill
drill copied to clipboard
hashpartition leak
Before submitting a bug report, please verify that you are using the most current version of Drill.
Describe the bug hashpartition leak when allocate memory exception with OutOfMemoryException
To Reproduce Steps to reproduce the behavior:
- prepare data for tpch 1s
- 20 concurrent for tpch sql8
- set direct memory 5g
- when it had OutOfMemoryException , stopped all sql.
- finding memory leak
Expected behavior (1)i set {DRILL_MAX_DIRECT_MEMORY:-"5G"} (2) i run sql8 (sql detail as Additional context) with 20 concurrent (3) it had OutOfMemoryException when create hashPartion
Error detail, log output or screenshots Unable to allocate buffer of size 262144 (rounded from 262140) due to memory limit (41943040). Current allocation: 20447232
Drill version drill 2.0
Additional context Add any other context about the problem here.
select
o_year,
sum(case when nation = 'CHINA' then volume else 0 end) / sum(volume) as mkt_share
from (
select
extract(year from o_orderdate) as o_year,
l_extendedprice * 1.0 as volume,
n2.n_name as nation
from hive.tpch1s.part, hive.tpch1s.supplier, hive.tpch1s.lineitem, hive.tpch1s.orders, hive.tpch1s.customer, hive.tpch1s.nation n1, hive.tpch1s.nation n2, hive.tpch1s.region
where
p_partkey = l_partkey
and s_suppkey = l_suppkey
and l_orderkey = o_orderkey
and o_custkey = c_custkey
and c_nationkey = n1.n_nationkey
and n1.n_regionkey = r_regionkey
and r_name = 'ASIA'
and s_nationkey = n2.n_nationkey
and o_orderdate between date '1995-01-01'
and date '1996-12-31'
and p_type = 'LARGE BRUSHED BRASS') as all_nations
group by o_year
order by o_year
I fixed the bug see attachment 0001-bug-10227615-hashPartition-leak.patch
@shfshihuafeng Can you please submit this as a pull request?
ok @cgivre