Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.6.0, 3.0.0-beta-1, 4.0.0-alpha-1, 2.7.0
Description
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.
Thanks,
Janardhan