YuJue Li created IGNITE-22437:
---------------------------------
Summary: Memory leak in MapNodeResults
Key: IGNITE-22437
URL: https://issues.apache.org/jira/browse/IGNITE-22437
Project: Ignite
Issue Type: Bug
Components: sql
Affects Versions: 2.16
Reporter: YuJue Li
Fix For: 2.17
Attachments: memoryleak.jpg
start 2 node by ignite.sh
execute the following SQL:
create table dwd_t_order_loan_apply (
order_id varchar,
identity_no varchar,
loan_date varchar,
primary key (order_id,identity_no)
) WITH
"template=partitioned,affinity_key=identity_no,CACHE_NAME=dwd_t_order_loan_apply";
create table dim_current_x_day (
id int,
biz_type int,
PRIMARY KEY (id)
) WITH "TEMPLATE=replicated,CACHE_NAME=dim_current_x_day";
INSERT INTO DWD_T_ORDER_LOAN_APPLY (ORDER_ID,IDENTITY_NO,LOAN_DATE) VALUES
('100000081','510322199908266091','2023-11-09 15:05:04');
INSERT INTO DIM_CURRENT_X_DAY (ID,BIZ_TYPE) VALUES (1,1);
INSERT INTO DIM_CURRENT_X_DAY (ID,BIZ_TYPE) VALUES (3,1);
INSERT INTO DIM_CURRENT_X_DAY (ID,BIZ_TYPE) VALUES (7,1);
INSERT INTO DIM_CURRENT_X_DAY (ID,BIZ_TYPE) VALUES (15,1);
INSERT INTO DIM_CURRENT_X_DAY (ID,BIZ_TYPE) VALUES (30,1);
execute following query some times:
SELECT b.id,
max(last_trade) "last_trade"
from
(select max(loan_date) last_trade
from dwd_t_order_loan_apply where identity_no='510322199908266091'
) a JOIN dim_current_x_day b
GROUP BY b.id;
execute following command :
jmap -dump:format=b,file=/data/ignite.bin <ignite pid>
open ignite.bin by eclipse MAT:
At this point, you will see that there is data in the res instance object in
MapNodeResults, which can lead to a serious memory leak issue, which is a
serious vulnerability.
The normal SQL execution process involves releasing the resources held in the
res instance object in MapNodeResults after a SQL query is executed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)