Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
In the current implementation the clone call waits until after the newly created table isTableEnabled. However there is another state (apparently orthogonal) that a newly created table is assumed to be – isTableAvailable (all regions assigned). The logic for checking after table creation and after clone creation are slightly different – creation does the equivalent of isTableAvailable but clone does not check this availability condition.
This causes flaky failures in tests that quickly try to use/delete a newly cloned table.
TestRestoreSnapshotFromClient#testCloneSnapshot
TestRestoreFlushSnapshotFromCleitn#testCloneSnapshot
I believe there also are race conditions because of the postTableCreateHandler corpco and postTableDeleteHandler coproc hooks.
Attachments
Attachments
Issue Links
- depends upon
-
HBASE-7365 Safer table creation and deletion using .tmp dir
- Closed