Skip to content
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

Fix/TS expiration handling without network #2937

Merged
merged 7 commits into from
Sep 23, 2024

Commits on Sep 12, 2024

  1. node/meta: store tombstone's expiration in graveyard

    It takes too much of network/disk to handle tombstones expiration and removal,
    so it is better to store it when tombstone is being indexed in metabase.
    Additional little-endian expiration suffix was added to graveyard values.
    Metabase version was increased as it is a non-compatible change. Relates #2929.
    
    Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
    carpawell committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    07c5941 View commit details
    Browse the repository at this point in the history
  2. node/shard: allow tombstones expire naturally

    They do not differ from the other objects (e.g. locks do). Initial logic has
    changed much, graveyard now allows to handle expired tombstones marks (do not
    confuse it with the lists of regular indexes) independently, while disk can be
    cleared with the other types of object. Also, add tests for it.
    
    Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
    carpawell committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    8c283c1 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. node/meta,shard: use tombstone expiration index instead of network

    Graveyard now has tombstone expiration marks in epochs, there is no need to use
    any network requests, just drop records if an epoch is big enough.
    Closes #2929.
    
    Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
    carpawell committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    f8596c7 View commit details
    Browse the repository at this point in the history
  2. *: drop unused code related to the old tombstones handling

    Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
    carpawell committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    ae8c296 View commit details
    Browse the repository at this point in the history
  3. lens, meta: support both graveyard version

    It may or may not index tombstone's expiration in graveyard.
    
    Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
    carpawell committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    595bb1d View commit details
    Browse the repository at this point in the history
  4. pilorama: satisfy intrange linter

    Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
    carpawell committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    064887c View commit details
    Browse the repository at this point in the history
  5. meta: do not require metabase resync for v2 to v3 update

    Migration can be done automatically, let admin's life be a better thing. TS
    expiration is taken as the current epoch + 5. It is not critical if TS will live
    more. In practice, side effects _may_ be seen only the first 5 hours after an
    update, and only returned status code _may_ differ.
    
    Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
    carpawell committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    3e8cc99 View commit details
    Browse the repository at this point in the history