Subtask #5046
closedFeature #4929: Erasure encoded placement group
Factor out PG logs, PG missing
0%
Description
PG logs, PG missing: The logic for merging an authoritative PG log with another PG log while filling in the missing set would benefit massively from being testable seperately from a PG instance. It's possible that the stripes involved in ErasureCodedPG will make this impractical to generalize.
- Move log, logondisk, missing from being public data members of PG to being protected data members of PGLog.{cc,h} and adapt the callers accordingly. It improves encapsulation and does not change any of the logic already in place. ( ready for review review take 1 review take 2 review take 3 review take 4 review take 5)
- Define an API for PGLog.{cc,h}
- Write unit tests for PGLog.{cc,h}
Discussions
Updated by Loïc Dachary almost 11 years ago
read PG::merge_log PG::merge_old_entry PG::rewind_divergent_log PG::proc_replica_log
pg_log_t + pg_missing_t
Read SnapMapper & MapCacher
create PGLog.{cc,h} and move code there, including all IndexedLog
Updated by Loïc Dachary almost 11 years ago
pg_info_t ( including pg_stat_t ) is modified during the log merging phase but it should not be the case. When factoring out the log merging, the modifications of pg_info_t must be moved out of the merge code.
Updated by Loïc Dachary almost 11 years ago
Move code to PGLog.cc PGLog.h so that missing, log and ondisklog are protected. Fix what breaks.
Updated by Loïc Dachary almost 11 years ago
- Description updated (diff)
- Source set to Development
Updated by Samuel Just over 10 years ago
- Status changed from In Progress to Resolved