-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Backport HBASE-28804 to branch-2 #6219
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
Backport HBASE-28804 to branch-2 #6219
Conversation
|
💔 -1 overall
This message was automatically generated. |
3acb488 to
e1e0c67
Compare
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
…om persistence (apache#6182) Signed-off-by: Wellington Chevreuil <[email protected]> Change-Id: I515d81fdc484cd49308d3164067a2287b8901520
e1e0c67 to
430c9ee
Compare
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
Hi @wchevreuil, The local execution of the test on my local branch, succeeded. git Branch: Test Execution: Hence, this seems unrelated to the change. |
… bucket-cache data from persistence (apache#6182) (apache#6219) Signed-off-by: Wellington Chevreuil <[email protected]>
… bucket-cache data from persistence (apache#6182) (apache#6219) Signed-off-by: Wellington Chevreuil <[email protected]>
…om persistence (apache#6182) (apache#6219) The cherry-pick of HBASE-29727 into branch-2.6 accidently brought most of HBASE-28804 into branch-2, this is to backport the remaining original change in HBASE-28804. Signed-off-by: Wellington Chevreuil <[email protected]> Change-Id: I816141ccebf91191aaa4cb6afa04343b64663eb0
…om persistence (apache#6182) (apache#6219) The cherry-pick of HBASE-29727 into branch-2.6 accidently brought most of HBASE-28804 into branch-2, this is to backport the remaining original change in HBASE-28804. Signed-off-by: Wellington Chevreuil <[email protected]> Change-Id: I816141ccebf91191aaa4cb6afa04343b64663eb0
…om persistence (apache#6182) (apache#6219) The cherry-pick of HBASE-29727 into branch-2.6 accidently brought most of HBASE-28804 into branch-2, this is to backport the remaining original change in HBASE-28804. Signed-off-by: Wellington Chevreuil <[email protected]> Change-Id: I816141ccebf91191aaa4cb6afa04343b64663eb0
[HBASE-28804: Implement asynchronous retrieval of bucket-cache data from persistence
During the retrieval of data from bucket cache persistence file, a transient structure that stores the blocks ordered by filename is constructed from the backing map entries. The population of this transient structure is done during the server start-up. This process increases the region-server startup time, if the bucketcache has large number of blocks.
This population happens inline with the server restart and blocks the server for several minutes. This makes the server restart inconvenient for the external users. Restarts during upgrade can run into timeout issues due to this delay in the server startup.
Hence, the recommendation in this Jira is to make the cache-retrieval asynchronous to the server startup. During a server startup, a new thread is spawn that reads the persistence file and creates the required structures from persistence file. The server continues with the restart and does not wait for the bucket-cache initialisation to complete.
Note that the bucket cache is not available immediately for usage and will only be ready to use after the data is repopulated from persistence into memory.
The prefetch thread that may start before the bucket-cache is initialized is modified to wait until the bucket cache is initialized.
Change-Id: I2c136d7b1d884f74642d29923172a1ad4ada36e4
HBASE-28804: Apply splotless and spotbugs changes.
Change-Id: I239c357a135a058650a20c5707c7c7303a248c85
HBASE-28804: Addressing first round of review comments.
Change-Id: Ie160b249f6a2bff18fd8a577ae32a263b7de25ea
HBASE-28804: Added unit tests for validation of cache in initialization state.
Change-Id: Ib54f565152c391da727be7413dd775fb507daea7
HBASE-28804: Address further review comments.
Change-Id: I446475dc84d52403f67762b878af874b9cbe1937
HBASE-28804: Fix unit test.
Change-Id: I391e5e453e077b7e5733cd997130467b356a3e66
HBASE-28804: Fixed check-style warnings
Change-Id: Ieb6b5841cb7b23d919fbebbe420c0083167d6d0b
Change-Id: I690e840b866795484d2a1463ff47d885d43fc7dc