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)