You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Ankit Singhal (Jira)" <ji...@apache.org> on 2022/03/01 23:17:00 UTC

[jira] [Created] (HBASE-26786) [hboss] Limit synchronization from hot path of HBoss APIs

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)