Ankit Singhal created HBASE-26786:
-------------------------------------

             Summary: [hboss] Limit synchronization from hot path of HBoss APIs
                 Key: HBASE-26786
                 URL: https://issues.apache.org/jira/browse/HBASE-26786
             Project: HBase
          Issue Type: Bug
          Components: hboss
    Affects Versions: hbase-filesystem-1.0.0-alpha2
            Reporter: Ankit Singhal
            Assignee: Ankit Singhal


Problem:-

While using HBase with S3, timeouts were observed while restoring a snapshot of 
a table having many regions and HFiles, and the problem regressed as we added 
more restores or snapshots in parallel.

 

Root cause:-

HBoss has some of the APIs interacting with the cache as synchronized, but as 
these are in the hot path of the interaction with the filesystem, threads are 
blocked until one is done, causing all threads working on the filesystem to run 
serially. In the case of restore_snapshot, which includes getting a list of 
completed snapshots, validating each store file, creating an HFile link in the 
target table, archiving files, etc. Therefore the problem is highlighted more 
with restore snapshot.

 

Solution:-

Remove the synchronization as those seem unnecessary, change cache data 
structure to a thread-safe which provides the required level concurrency.

 

 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to