[
https://issues.apache.org/jira/browse/HBASE-28079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryan Beaudreault resolved HBASE-28079.
---------------------------------------
Fix Version/s: 2.6.0
3.0.0-beta-1
Resolution: Fixed
Merged to master, branch-3, and branch-2. Thanks [~zhangduo] for the quick
review
> Unhandled TableExistsException and NamespaceExistException in
> BackupSystemTable
> -------------------------------------------------------------------------------
>
> Key: HBASE-28079
> URL: https://issues.apache.org/jira/browse/HBASE-28079
> Project: HBase
> Issue Type: Bug
> Reporter: Bryan Beaudreault
> Assignee: Bryan Beaudreault
> Priority: Major
> Labels: patch-available
> Fix For: 2.6.0, 3.0.0-beta-1
>
>
> Most backup-related operations instantiate a BackupSystemTable object. The
> first thing it does is check that the {{backup}} namespace and backup-related
> tables exist, and create them if not. One way in which this can be triggered
> is via LoadIncrementalHFiles, which can load files with a configurable number
> of threads. When bulkLoadHFile is called, a preCommitHFile hook is triggered
> which does the above. With a certain level of concurrency, one can easily
> trigger a race condition on creating the namespace or tables. This exception
> bubbles up and fails the bulkload.
> We should catch TableExistsException and NamespaceExistException in
> BackupSystemTable initialization so that these do not cause client pain.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)