Skip to content

2.27.0.0-b197

@amitanandaiyer amitanandaiyer tagged this 07 Jun 07:51
Summary:
 - Move the index to DO_BACKFILL permission when pg_backend asks the master to start backfill. This will ensure that if the master fails after that, then the newly elected master can restart the backfill process.
 - update tests to ensure that backfill completes successfully, after a master failover during backfill.
 - use b2a to escape binary strings to make rewrite_test_log.py happy. With the sed replacement being done in our test scripts, printing binary characters may cause the test to abort due to sed not being able to accept the lines. Specifically, backfilled_until was being printed in binary. Use b2a to make it printable.
 - Allow "schema version mismatch" errors during `BACKFILL INDEX` to be handled transparently by doing retries.
   Note: There is some debate/discussion with jason regarding whether or not this should be done -- the counter point being that the whole "create index" should act like one transaction and  schema version/catalog version mismatches are not retried within one transaction. This however is not the case with how things are implemented today. each `BACKFILL INDEX` picks ups the schema version to use independently. Thus a retry is no different than this RPC being issued "a little later" in time.  //Once Table level locks are used by default, this becomes a non-issue.//
Jira: DB-2052

Test Plan: yb_build.sh fastdebug  --cxx-test pg_index_backfill-test --gtest_filter *MasterLeaderStepdown*

Reviewers: jason

Reviewed By: jason

Subscribers: yql, ybase

Differential Revision: https://phorge.dev.yugabyte.com/D19732
Assets 2
Loading