-
Notifications
You must be signed in to change notification settings - Fork 142
CORTX-27600 dtm0/log: initial implementation for dtx0 and pruner #1503
Conversation
This issue/pull request has been marked as |
This issue/pull request has been marked as |
This issue/pull request has been marked as |
This issue/pull request has been marked as |
This issue/pull request has been marked as |
Signed-off-by: Madhavrao Vemuri <madhav.vemuri@seagate.com>
Thanks for your contribution! |
Thanks for your contribution! |
Thanks for your contribution! |
Jenkins CI Result : Motr#1633Motr Test Summary
CppCheck SummaryCppcheck: No new warnings found 👍 |
Few Codacy issues identified are ignored, as they seems to be not relevent here. Signed-off-by: Madhavrao Vemuri <madhav.vemuri@seagate.com>
Thanks for your contribution! |
Thanks for your contribution! |
Jenkins CI Result : Motr#1637Motr Test Summary
CppCheck SummaryCppcheck: No new warnings found 👍 |
Thanks for your contribution! |
By reversing the stop order of servers, HA will be stopped at the end, which will reduce the connection errors during shutdown in ST's. Signed-off-by: Madhavrao Vemuri <madhav.vemuri@seagate.com>
Thanks for your contribution! |
@rkothiya : Please consider following commit message after squashing the changes. ``* CORTX-27600 dtm0/log: initial implementation for dtx0 and pruner Problem: Solution: Also, we add a simple pruner which deletes the old records from the log In contrary to the old dtm0 code currently in main, which requires compilation The patch contains UTs for the log and the pruner. Signed-off-by: Maxim Medved max.medved@seagate.com Co-authored-by: Ivan Alekhin ivan.alekhin@seagate.com
|
I have fixed the relevant Codacy issues identified, remaining ones are ignored as they seems to be not valid to me. |
retest this please |
…gate#1503) Problem: Currently, dtm0 log entries are stored in a simple list, which reduces the performance because for each pmsg we have to traverse this list to find the entry to update it with the information about the received pmsg. Solution: In the dtm0 log we store the entries in the btree. This solves the above issue. Also, we add a simple pruner which deletes the old records from the log if they are All-P (i.e. received pmsgs from all participants). Without pmsgs and redo_lists (TBD in next PRs), the pruner just deletes records from the log as soon as they are added there. In contrary to the old dtm0 code currently in main, which requires compilation option to be enabled, this code will be always ON. It will help us to debug the code earlier. The patch contains UTs for the log and the pruner. Signed-off-by: Maxim Medved max.medved@seagate.com Co-authored-by: Ivan Alekhin ivan.alekhin@seagate.com Co-authored-by: Madhavrao Vemuri madhav.vemuri@seagate.com Co-authored-by: Andriy Tkachuk andriy.tkachuk@seagate.com
Currently, dtm0 log entries are stored in a simple list, which kills the performance because for each pmsg we have to traverse this list to find the entry to update it with the information about the received pmsg.
In the new dtm0 log we store the entries in the btree. This solves the above issue.
Also, we add a simple pruner which deletes the old records from the log if they are All-P (i.e. received pmsgs from all participants). Without pmsgs and redo_lists (TBD in next PRs), the pruner just deletes records from the log as soon as they are added there.
In contrary to the old dtm0 code currently in main, which requires compilation option to be enabled, this code will be always ON. It will help us to debug the code earlier.
The patch contains UTs for the log and the pruner.