|
If there is a restart during Phase 2, we should be able to restart the rollback process and skip Phase 1.
The information in local.system.rollback.progress should be sufficient to determine if Phase 1 can be skipped.
The entry point to Phase 2 would be in BackgroundSync right before we start to look for a new sync source.
We would enter rollback and return to the producer loop when rollback completes.
To test this feature, we would need a JS test and a fail point:
The fail point would make the server hang in Phase 2, at which point the JS test could restart the node.
|