ivandika3 opened a new pull request, #4696:
URL: https://github.com/apache/ozone/pull/4696

   ## What changes were proposed in this pull request?
   
   As OM performance test during Recon OM full snapshot, I removed the Recon DB 
directory before restarting Recon to trigger full snapshot (essentially 
bootstrapping a new Recon).
   
   However, it is found after OM DB is successfully downloaded, during the 
reprocess of ContainerKeyMapperTask, the Recon heap usage increased 
significantly for large keys table (our cluster has around 350 million keys).
   
   It is found that the issue was caused due to in-memory maps that store all 
the OM keys during the reprocess. This is a regression introduced in 
[HDDS-6783](https://jira.shopee.io/browse/HDDS-6783). In essence, the patch is 
to revert the implementation of 
[HDDS-6783](https://jira.shopee.io/browse/HDDS-6783) ONLY for 
ContainerKeyMapperTask#reprocess.
   
   - ContainerKeyMapperTask#process should not increase the heap memory 
significantly since the number of delta updates are already limited by the 
Recon configurations
   - [HDDS-6783](https://jira.shopee.io/browse/HDDS-6783) aims for atomicity 
during the Recon OM task updates. However since 
ContainerKeyMapperTask#reprocess truncate all the Recon Container DB before it 
starts and rebuilt the Recon Container DB, I think it's acceptable.
   
   After the patch is applied, the Recon heap size stays stable during the full 
snapshot.
   
   Any suggestion for better approach is welcomed.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-8580
   
   ## How was this patch tested?
   
   Manual test. 
   
   Attached is Recon heap memory before and after the patch.
   
   
![image](https://github.com/apache/ozone/assets/36403683/ade1c3e9-3125-4229-a9db-5f78d790ff29)
   
   
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to