[ https://issues.apache.org/jira/browse/IGNITE-23246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17949969#comment-17949969 ]
Denis Chudov edited comment on IGNITE-23246 at 5/7/25 11:43 AM: ---------------------------------------------------------------- We also had this case after some time of cluster running {code:java} Class Name | Objects | Shallow Heap | Retained Heap------------------------------------------------------------------------------------------------------------------------org.apache.ignite.internal.hlc.HybridTimestamp | 154,174,254 | 3,700,182,096 | >= 3,700,185,528org.apache.ignite.internal.placementdriver.leases.Lease | 76,995,000 | 3,079,800,000 | >= 6,775,206,072byte[] | 431,933 | 2,416,352,296 | >= 2,416,352,296java.util.HashMap$TreeNode | 36,002,191 | 2,016,122,696 | >= 6,912,296,824java.util.concurrent.CompletableFuture | 77,576,020 | 1,861,824,480 | >= 14,268,283,984org.apache.ignite.internal.placementdriver.negotiation.LeaseAgreement| 76,983,201 | 1,847,596,824 | >= 10,469,636,984java.util.HashMap$Node | 41,137,551 | 1,316,401,632 | >= 6,918,308,816java.util.HashMap$Node[] | 46,888 | 430,727,448 | >= 14,261,786,344java.lang.Object[] | 219,348 | 44,844,248 | >= 147,034,680org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTask | 557,056 | 35,651,584 | >= 35,651,912long[] | 107,889 | 27,226,024 | >= 27,226,024org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEvent | 524,288 | 25,165,824 | >= 25,165,824org.apache.ignite.raft.jraft.core.NodeImpl$LogEntryAndClosure | 524,288 | 25,165,824 | >= 25,165,824int[] | 24,553 | 16,720,264 | >= 16,720,264java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync | 335,599 | 16,108,752 | >= 21,650,144java.util.concurrent.CompletableFuture$UniWhenComplete | 362,137 | 14,485,480 | >= 14,257,734,296java.util.concurrent.locks.ReentrantReadWriteLock | 329,668 | 7,912,032 | >= 38,427,896java.util.concurrent.ConcurrentHashMap | 118,581 | 7,589,184 | >= 56,428,576java.lang.ThreadLocal$ThreadLocalMap$Entry | 222,871 | 7,131,872 | >= 9,195,216org.apache.ignite.internal.table.distributed.gc.MvGc$$Lambda+0x00007f| 277,300 | 6,655,200 | >= 6,655,200java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask | 90,777 | 6,535,944 | >= 15,752,031,576Total: 21 of 21,880 entries; 21,859 more | 474,012,399 | 17,120,715,168 | {code} was (Author: denis chudov): We also had this case after some time of cluster running {noformat} Class Name | Objects | Shallow Heap | Retained Heap----------------------------------------------------------------------------------------------------------------------------------org.apache.ignite.internal.hlc.HybridTimestamp | 154,174,254 | 3,700,182,096 | >= 3,700,185,528org.apache.ignite.internal.placementdriver.leases.Lease | 76,995,000 | 3,079,800,000 | >= 6,775,206,072byte[] | 431,933 | 2,416,352,296 | >= 2,416,352,296java.util.HashMap$TreeNode | 36,002,191 | 2,016,122,696 | >= 6,912,296,824java.util.concurrent.CompletableFuture | 77,576,020 | 1,861,824,480 | >= 14,268,283,984org.apache.ignite.internal.placementdriver.negotiation.LeaseAgreement | 76,983,201 | 1,847,596,824 | >= 10,469,636,984java.util.HashMap$Node | 41,137,551 | 1,316,401,632 | >= 6,918,308,816java.util.HashMap$Node[] | 46,888 | 430,727,448 | >= 14,261,786,344java.lang.Object[] | 219,348 | 44,844,248 | >= 147,034,680org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTask | 557,056 | 35,651,584 | >= 35,651,912long[] | 107,889 | 27,226,024 | >= 27,226,024org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEvent | 524,288 | 25,165,824 | >= 25,165,824org.apache.ignite.raft.jraft.core.NodeImpl$LogEntryAndClosure | 524,288 | 25,165,824 | >= 25,165,824int[] | 24,553 | 16,720,264 | >= 16,720,264java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync | 335,599 | 16,108,752 | >= 21,650,144java.util.concurrent.CompletableFuture$UniWhenComplete | 362,137 | 14,485,480 | >= 14,257,734,296java.util.concurrent.locks.ReentrantReadWriteLock | 329,668 | 7,912,032 | >= 38,427,896java.util.concurrent.ConcurrentHashMap | 118,581 | 7,589,184 | >= 56,428,576java.lang.ThreadLocal$ThreadLocalMap$Entry | 222,871 | 7,131,872 | >= 9,195,216org.apache.ignite.internal.table.distributed.gc.MvGc$$Lambda+0x00007f4730fb5808| 277,300 | 6,655,200 | >= 6,655,200java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask | 90,777 | 6,535,944 | >= 15,752,031,576Total: 21 of 21,880 entries; 21,859 more | 474,012,399 | 17,120,715,168 | {noformat} {code:java} Class Name | Objects | Shallow Heap | Retained Heap----------------------------------------------------------------------------------------------------------------------------------org.apache.ignite.internal.hlc.HybridTimestamp | 154,174,254 | 3,700,182,096 | >= 3,700,185,528org.apache.ignite.internal.placementdriver.leases.Lease | 76,995,000 | 3,079,800,000 | >= 6,775,206,072byte[] | 431,933 | 2,416,352,296 | >= 2,416,352,296java.util.HashMap$TreeNode | 36,002,191 | 2,016,122,696 | >= 6,912,296,824java.util.concurrent.CompletableFuture | 77,576,020 | 1,861,824,480 | >= 14,268,283,984org.apache.ignite.internal.placementdriver.negotiation.LeaseAgreement | 76,983,201 | 1,847,596,824 | >= 10,469,636,984java.util.HashMap$Node | 41,137,551 | 1,316,401,632 | >= 6,918,308,816java.util.HashMap$Node[] | 46,888 | 430,727,448 | >= 14,261,786,344java.lang.Object[] | 219,348 | 44,844,248 | >= 147,034,680org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTask | 557,056 | 35,651,584 | >= 35,651,912long[] | 107,889 | 27,226,024 | >= 27,226,024org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEvent | 524,288 | 25,165,824 | >= 25,165,824org.apache.ignite.raft.jraft.core.NodeImpl$LogEntryAndClosure | 524,288 | 25,165,824 | >= 25,165,824int[] | 24,553 | 16,720,264 | >= 16,720,264java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync | 335,599 | 16,108,752 | >= 21,650,144java.util.concurrent.CompletableFuture$UniWhenComplete | 362,137 | 14,485,480 | >= 14,257,734,296java.util.concurrent.locks.ReentrantReadWriteLock | 329,668 | 7,912,032 | >= 38,427,896java.util.concurrent.ConcurrentHashMap | 118,581 | 7,589,184 | >= 56,428,576java.lang.ThreadLocal$ThreadLocalMap$Entry | 222,871 | 7,131,872 | >= 9,195,216org.apache.ignite.internal.table.distributed.gc.MvGc$$Lambda+0x00007f4730fb5808| 277,300 | 6,655,200 | >= 6,655,200java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask | 90,777 | 6,535,944 | >= 15,752,031,576Total: 21 of 21,880 entries; 21,859 more | 474,012,399 | 17,120,715,168 | {code} > Lease agreements might leak > --------------------------- > > Key: IGNITE-23246 > URL: https://issues.apache.org/jira/browse/IGNITE-23246 > Project: Ignite > Issue Type: Bug > Reporter: Vladislav Pyatkov > Assignee: Denis Chudov > Priority: Major > Labels: ignite-3 > > h3. Motivation > Agreements are used to consider a lease, but unlike leases, the agreements > are stored in memory. > {code} > /** Lease agreements which are in progress of negotiation. */ > private final Map<ReplicationGroupId, LeaseAgreement> leaseToNegotiate; > {code} > These agreements exist only in PD active-actor, but in the case where the > active-actor does not change for a long time, we would get agreements for > removed replication groups. > The type of agreement is useless but consumes a lot of memory. > h3. Definition of done > Agreemens should be deleted ether with replication group stop or when the > agreement is expired. -- This message was sent by Atlassian Jira (v8.20.10#820010)