[ 
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:44 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,528
org.apache.ignite.internal.placementdriver.leases.Lease                        
|  76,995,000 |  3,079,800,000 |  >= 6,775,206,072
byte[]                                                                         
|     431,933 |  2,416,352,296 |  >= 2,416,352,296
java.util.HashMap$TreeNode                                                     
|  36,002,191 |  2,016,122,696 |  >= 6,912,296,824
java.util.concurrent.CompletableFuture                                         
|  77,576,020 |  1,861,824,480 | >= 14,268,283,984
org.apache.ignite.internal.placementdriver.negotiation.LeaseAgreement          
|  76,983,201 |  1,847,596,824 | >= 10,469,636,984
java.util.HashMap$Node                                                         
|  41,137,551 |  1,316,401,632 |  >= 6,918,308,816
java.util.HashMap$Node[]                                                       
|      46,888 |    430,727,448 | >= 14,261,786,344
java.lang.Object[]                                                             
|     219,348 |     44,844,248 |    >= 147,034,680
org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTask                      
|     557,056 |     35,651,584 |     >= 35,651,912
long[]                                                                         
|     107,889 |     27,226,024 |     >= 27,226,024
org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEvent           
|     524,288 |     25,165,824 |     >= 25,165,824
org.apache.ignite.raft.jraft.core.NodeImpl$LogEntryAndClosure                  
|     524,288 |     25,165,824 |     >= 25,165,824
int[]                                                                          
|      24,553 |     16,720,264 |     >= 16,720,264
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync                  
|     335,599 |     16,108,752 |     >= 21,650,144
java.util.concurrent.CompletableFuture$UniWhenComplete                         
|     362,137 |     14,485,480 | >= 14,257,734,296
java.util.concurrent.locks.ReentrantReadWriteLock                              
|     329,668 |      7,912,032 |     >= 38,427,896
java.util.concurrent.ConcurrentHashMap                                         
|     118,581 |      7,589,184 |     >= 56,428,576
java.lang.ThreadLocal$ThreadLocalMap$Entry                                     
|     222,871 |      7,131,872 |      >= 9,195,216
org.apache.ignite.internal.table.distributed.gc.MvGc$$Lambda+0x00007f4730fb5808|
     277,300 |      6,655,200 |      >= 6,655,200
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask           
|      90,777 |      6,535,944 | >= 15,752,031,576
Total: 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
{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}

> 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