[ 
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)

Reply via email to