jinshuangxian created FLINK-28250: ------------------------------------- Summary: exactly-once sink kafka cause out of memory Key: FLINK-28250 URL: https://issues.apache.org/jira/browse/FLINK-28250 Project: Flink Issue Type: Bug Affects Versions: 1.15.0 Environment: *flink version: flink-1.15.0*
*tm: 8* parallelism, 1 slot, 2g centos7 Reporter: jinshuangxian Attachments: image-2022-06-25-22-07-35-686.png, image-2022-06-25-22-07-54-649.png, image-2022-06-25-22-08-04-891.png, image-2022-06-25-22-08-15-024.png *my sql code:* CREATE TABLE sourceTable ( data bytes )WITH( 'connector'='kafka', 'topic'='topic1', 'properties.bootstrap.servers'='host1', 'properties.group.id'='gorup1', 'scan.startup.mode'='latest-offset', 'format'='raw' ); CREATE TABLE sinkTable ( data bytes ) WITH ( 'connector'='kafka', 'topic'='topic2', 'properties.bootstrap.servers'='host2', 'properties.transaction.timeout.ms'='30000', 'sink.semantic'='exactly-once', 'sink.transactional-id-prefix'='xx-kafka-sink-a', 'format'='raw' ); insert into sinkTable select data from sourceTable; *problem:* After the program runs online for about half an hour, full gc frequently appears {*}Troubleshoot{*}: I use command 'jmap -dump:live,format=b,file=/tmp/dump2.hprof' dump the problem tm memory. It is found that there are 115 FlinkKafkaInternalProducers, which is not normal. !image-2022-06-25-22-07-54-649.png!!image-2022-06-25-22-07-35-686.png! After reading the code of KafkaCommitter, it is found that after the commit is successful, the producer is not recycled, only abnormal situations are recycled. !image-2022-06-25-22-08-04-891.png! I added a few lines of code. After the online test, the program works normally, and the problem of oom memory is solved. !image-2022-06-25-22-08-15-024.png! -- This message was sent by Atlassian Jira (v8.20.7#820007)