Summary:
Includes YBC commits:
- https://github.com/yugabyte/ybc/commit/d851445865495c974d712d2cc1063d4d29898504
We were using a timeout of `10 * num_tables` minutes as timeout for
Import snapshot. This is very big and causes problems incases where a
retry after timeout can make the import work quickly.
This PR reduces the timeout to `15 * num_tables` seconds. It also makes the
timeout per table time configurable in seconds via the gflag: `yb_snap_import_time_per_table_secs`.
- https://github.com/yugabyte/ybc/commit/c80b5a650d7288eac438424f3024430418b96297
We were only retrying in case of MasterErrorPB status codes [NOT_THE_LEADER, CATALOG_MANAGER_NOT_INITIALIZED].
Additionally we should also retry AppStatusPB code like [LEADER_HAS_NO_LEASE, LEADER_NOT_READY_TO_SERVE, TRY_AGAIN_CODE]
as that can also be returned by RPCs that YBC calls on master.
This was specifically observed with the ListSnapshotRestorations RPC as that does not use MasterErrorPB at all, instead
it uses AppStatusPB.
Fixed to include both during retry check.
Test Plan: dev itests
Reviewers: dshubin
Reviewed By: dshubin
Differential Revision: https://phorge.dev.yugabyte.com/D45734