[go: up one dir, main page]

Skip to content

storage: Extract log management out of TransactionManager

From !7385 (comment 2195163836)

The TransactionManager should primarily concentrate on concurrency control. However, it has taken on numerous additional tasks that fall outside its main responsibilities, such as housekeeping and log management. Log management, which used to be relatively straightforward, is now becoming increasingly complicated. This is particularly true if Raft integration enters the scene.

To simplify and improve the Raft integration process, it is beneficial to separate log management from the TransactionManager. The log should be accessed through a distinct type within the TransactionManager. This approach allows us to abstract the Raft specifics, ensuring the TransactionManager remains unaware of the various log implementations and the underlying consensus algorithm. Currently, there are several complexities regarding Raft, such as rolling back logs.

Edited by Quang-Minh Nguyen
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information