Uh oh!
There was an error while loading. Please reload this page.
HBASE-22942 move Snapshot verification to procedure - #662
Conversation
sanjeetnishad95
commented
Sep 26, 2019
Hi @busbey , I have moved the SnapshotReferenceUtil.verifySnapshot() from SnapshotManager to prepareRestore() step of RestoreSnapshotProcedure. Please review the PR and let me know if this is what was intended? |
Apache-HBase
commented
Sep 26, 2019
💔 -1 overall
This message was automatically generated. |
saintstack
left a comment
There was a problem hiding this comment.
What happens to the procedure if the verify fails? Will the Procedure close out cleanly? Or will we it be perpetually rescheduled? Thanks.
sanjeetnishad95
commented
Sep 28, 2019
Hi @saintstack ,If the procedure fails as a result of verifySnapshot, it will throw corruptedSnapshotException or IOException which will be taken care as a part of the procedure framework. The procedure will close out cleanly. |
busbey
commented
Sep 28, 2019
Please check on the unit test failures since they're supposed to cover the code that changed. |
| snapshot); | ||
| // Verify snapshot validity | ||
| SnapshotReferenceUtil |
There was a problem hiding this comment.
This is currently in a block for only checking non-system tables. Needs to happen for all tables.
Also should probably be the first thing we do in prepareRestore, since it used to proceed the step.
Please update the status monitor about doing the verification as well.
saintstack
commented
Oct 9, 2019
@sanjeetnishad95 See @busbey comments above? Any chance of addressing them? Thanks. |
sanjeetnishad95
commented
Oct 10, 2019
yes @saintstack , I will address them ASAP. |
Apache-HBase
commented
May 22, 2020
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
May 22, 2020
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
May 23, 2020
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
May 23, 2020
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
May 23, 2020
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
May 23, 2020
💔 -1 overall
This message was automatically generated. |
saintstack
commented
Jun 5, 2020
Closing. No progress. Make a new PR if I have this wrong. Thanks. |
Problem : Right now we do snapshot verification prior to queueing the restore / clone request from the client. That means the initial call from the client has to block until we're done. On large manifests (~single digit millions) this easily takes longer than the default timeout of 20 minutes.
Solution: Instead we should handle verification as one of the steps in the relevant procedure (hbase 2+) or table handler (hbase 1) so that the master can do it in the background and report status.