happyboy1024 commented on issue #5008: URL: https://github.com/apache/seatunnel/issues/5008#issuecomment-1617566718
> @happyboy1024 Is there a solution? I see this problem, too I analyzed the problem and found that it was in the phase of full synchronization history data. Since it is read in fragments, it is necessary to compensate after reading. During fragment compensating, an event listener is registered with BinaryClient, and then the End event is sent based on the offset of binlog. Each listener is associated with a queue to receive data change events, but I found that the current listener was not released after the compensation was completed, resulting in the queue data being unable to be GC. In the subsequent stages of the complete synchronization history, the binlog event will continue to trigger the send End event condition, placing the event in the queue. As for the number of MySQL connections, I found that during sharding reads, each shard enabled will obtain a connection to check the gtid status of MySQL. However, after sharding ends, this connection is not released, resulting in continuous connection growth. I have tried to solve this proble m, and I am currently testing to solve it. If possible, I will try to submit a pr -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
