Add TXG timestamp database#16853
Conversation
2a20b11 to
364f813
Compare
364f813 to
891c8f2
Compare
|
It crashes on |
|
This reminds me we recently added |
891c8f2 to
ba5ee33
Compare
963a5a3 to
33a7c27
Compare
d214335 to
603bbfa
Compare
|
@oshogbo |
d69c857 to
f40bd7f
Compare
cabf73b to
dec4dbb
Compare
|
I think the problem with almalinux8 is finally solved. It was caused by using /dev/random instead of /dev/urandom, which resulted in empty files. The zinject tool injects a data error, but because there was no data, the second file wasn't detected as corrupted. I also found an issue with timezone calculation, which has now been fixed. Additionally, I changed the way we select the final time. Since we have three different groups of timestamps, we can't simply select the smallest TXG as the start date - doing so would always pick the one from the "lowest frequency group" (monthly). So instead, we still floor each group, but we now select the time that is closest overall. Hope that makes sense. |
|
It looks like we had some unexpected failures in the centos-stream builders as well which need to be looked at: https://github.com/openzfs/zfs/actions/runs/16548417061/job/46985751681?pr=16853 |
4203e80 to
b2c2630
Compare
b2c2630 to
7a3155f
Compare
This feature enables tracking of when TXGs are committed to disk, providing an estimated timestamp for each TXG. With this information, it becomes possible to perform scrubs based on specific date ranges, improving the granularity of data management and recovery operations. Signed-off-by: Mariusz Zaborski <mariusz.zaborski@klarasystems.com> Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc.
Motivation and Context
This feature enables tracking of when TXGs are committed to disk, providing an estimated timestamp for each TXG.
With this information, it becomes possible to perform scrubs based on specific date ranges, improving the granularity of data management and recovery operations.
Description
To achieve this, we implemented a round-robin database that keeps track of time. We separate the tracking into minutes, days, and years. We believe this provides the best resolution for time management. This feature does not track the exact time of each transaction group (txg) but provides an estimate. The txg database can also be used in other scenarios where mapping dates to transaction groups is required.
How Has This Been Tested?
Types of changes
Checklist:
Signed-off-by.