xiongjianbo created ZOOKEEPER-4502: -------------------------------------- Summary: SyncRequestProcessor leak when leader election occurred Key: ZOOKEEPER-4502 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4502 Project: ZooKeeper Issue Type: Bug Components: quorum Affects Versions: 3.6.3 Reporter: xiongjianbo
After a three-node ZooKeeper cluster runs for a period of time, OutOfMemory occurs. Check the memory stack and find that the number of SyncRequestProcessor objects is over 400. !image-2022-03-28-16-18-43-147.png! Check the previous modification records. It is found that the Learner.shutdown logic is modified this time. [https://github.com/apache/zookeeper/pull/1619] After the modification, the original invoking logic is changed. Before modification: Learner.shutdown() -> LearnerZooKeeperServer.shutdown() -> ZooKeeperServer.shutdown() After modification: Learner.shutdown() -> ZooKeeperServer.shutdown(boolean) Finally, LearnerZooKeeperServer.syncProcessor.shutdown() was never called. syncProcessor -- This message was sent by Atlassian Jira (v8.20.1#820001)