Summary:
currently DR setup fails in the following two cases
- when a DB selected on the source exists on the target but has additional tables
- when a source DB also existing on the target has empty tables that the target DB doesn't have
Relevant checks are added to the bootstrap predicate in the create task so that such setups force bootstrapping regardless of what the RPC returns
Test Plan:
Test the following setup:
- source DB with only empty tables doesn't exist on the target (bootstraps)
- source DB with only empty tables exists on target bu the target DB doesn't have any tables (bootstraps)
- source DB with only empty tables which also exist on the target (passes)
- source DB with only empty tables some of which (not all) exist on the target (bootstraps)
- source DB has only empty tables and exists on the target but the target DB has additional tables (bootstraps)
- source DB has some empty tables which also exist on the target (passes)
- source DB has some epmty tables some of which adon't exist on the target (bootstraps)
- source DB with non-empty tables, and the target DB has empty tables (passes)
Reviewers: hzare, spothuraju
Reviewed By: hzare, spothuraju
Subscribers: svc_phabricator, yugaware
Differential Revision: https://phorge.dev.yugabyte.com/D46125