-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Add TXG timestamp database #16853
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
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
33a7c27
to
7797e3f
Compare
Forgot to mention this earlier - can you add a test case to exercise |
Unfortunately, I don't have an idea how to add such test, as to test it we would need to wait for rrd to be created. This will create very long test. Do you have some suggestions? |
The test case could temporarily set the system clock forward to simulate the passage of time. |
7797e3f
to
307ce00
Compare
eb670f4
to
9f84986
Compare
9f84986
to
5d2ae66
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few more comments, plus it reliably fails cli_root/zpool_resilver/zpool_resilver_restart
and libzfs/libzfs_input
tests.
36b8920
to
f987166
Compare
Can we re-run the tests? It seems they have timed out. |
@oshogbo Many of them actually crashed on the same assertion:
|
f28d6f4
to
5ced42c
Compare
5ced42c
to
df71897
Compare
I think everything should be fixed now. |
df71897
to
36e2707
Compare
I have addressed the feedback. |
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 <[email protected]> Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc.
36e2707
to
0f5ff9e
Compare
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
.