Skip to content
This repository has been archived by the owner on Dec 15, 2021. It is now read-only.

IS-894: Diverted block recovery at run-time #398

Merged
merged 38 commits into from
Jan 3, 2020

Conversation

goldworm-icon
Copy link
Member

  • Support multiple block rollback at run-time
  • Clean up old backup files
  • Support incomplete rollback recovery

Chiwon Cho and others added 30 commits December 9, 2019 19:08
* Rename old rollback() to remove_precommit_state()
* Add ROLLBACK message to converter_template
* Add BackupManager and RollbackManager to database package
* Make storages ready prior to engines
* Remove _post_component_context() from IconServiceEngine
* Replace IconServiceEngine.rollback() with remove_precommit_state()
* Fix all unittest errors
* Pass icx_db to RollbackManager in IconServiceEngine.
* Add WALDBType
* Rename "status" to "success" in RollbackResponse
* Call rollback() of all storages
* Call rollback() of all engines
* Exception handling on rollback
* Minor bugfix
* Remove IDE warning messages
* RollbackResponse, QueryCalculateResultResponse and
QueryCalculateStatusResponse are added to test
* Refactor BackupManager
* Apply a new BackupManager to IconServiceEngine
* Add unittest code to test_backup_manager.py
* Revert last_block
* Fix unittest error in test_rollback.py
* Update create_eoa_account functions in TestIntegrateBase
* Add a unittest for score deploy rollback
* Add a unittest for score state rollback
* Move rollback-related files to iconservice.rollback package
* Apply BackupCleaner to IconServiceEngine
* Add a unit test for BackupCleaner
* Update logging of RollbackResponse
* Fix minor bug in IISSEngine.rollback_reward_calculator()
* The exception that there is no preps data at the end of prevote term is handled.
* Repeat to rollback up to a given block from the current block
* Add a unittest for multi block rollback
* Consider the case that there is a term change during rollback
* Fix a minor bug in rollback/test_backup_manager.py
* Fix minor unittest errors caused by iiss_rc_db name change
* Record Rollback metadata before rollback for rollback recovery
* Add Metadata class
* Add unittests
* Refactor IconServiceEngine._recover_rc_db()
* Remove RewardCalcStorage.scan_rc_db()
* Optimize code
Chiwon Cho added 8 commits December 23, 2019 17:34
* Add load() and save() to rollback.Metadata class
* Add _recover_rollback() and _finish_to_recover_rollback() to IconServiceEngine.
* Consider the case that renaming iiss_db to current_db has been already done
* iiss_rc_db_{BH}_{revision} -> iiss_rc_db_{BH}
* Add IissDBNameRefactor class
* block-12345.bak -> block-0000012345.bak
* Divide run() into run_on_init(), run_on_commit() and run()
* Update the unittest for BackupCleaner
@goldworm-icon goldworm-icon changed the title IS-894 Rollback at run-time IS-894: Rollback at run-time Jan 2, 2020
@goldworm-icon goldworm-icon merged commit 063660b into develop Jan 3, 2020
@goldworm-icon goldworm-icon deleted the IS-894-prev-state-rollback-at-runtime branch January 3, 2020 04:59
@goldworm-icon goldworm-icon changed the title IS-894: Rollback at run-time IS-894: Diverted block recovery at run-time Jan 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant