Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-28804

Implement asynchronous retrieval of bucket-cache data from persistence.

    XMLWordPrintableJSON

Details

    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

      Attachments

        Activity

          People

            janardhan.hungund Janardhan Hungund
            janardhan.hungund Janardhan Hungund
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: