-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-28840: Optimise memory utilization bucketcache retrieval from persistence. #6253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ersistence. During the persistence of bucket-cache backing map to a file, the backing map is divided into multiple smaller chunks and persisted to the file. This chunking avoids the high memory utilisation of during persistence, since only a small subset of backing map entries need to persisted in one chunk. However, during the retrieval of the backing map during the server startup, we accumulate all these chunks into a list and then process each chunk to recreate the in-memory backing map. Since, all the chunks are fetched from the persistence file and then processed, the memory requirement is higher. With this change, the retrieval of bucket-cache from persistence file is optimised to enable the processing of one chunk at a time to avoid high memory utilisation. Change-Id: I12ed252d543be120183cbe5a3e769e5cda7998c1
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
The failing test passes, when executed locally. The failure seems not related to the change. [INFO] ------------------------------------------------------- |
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
…ersistence. (#6253) Signed-off-by: Wellington Chevreuil <[email protected]>
During the persistence of bucket-cache backing map to a file, the backing map is divided into multiple smaller chunks and persisted to the file. This chunking avoids the high memory utilisation of during persistence, since only a small subset of backing map entries need to persisted in one chunk.
However, during the retrieval of the backing map during the server startup, we accumulate all these chunks into a list and then process each chunk to recreate the in-memory backing map. Since, all the chunks are fetched from the persistence file and then processed, the memory requirement is higher.
With this change, the retrieval of bucket-cache from persistence file is optimised to enable the processing of one chunk at a time to avoid high memory utilisation.
Change-Id: I12ed252d543be120183cbe5a3e769e5cda7998c1