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)