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

Revive dead object via control service #2968

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Commits on Oct 17, 2024

  1. *: fix typo and incorrect comment var name

    Signed-off-by: Andrey Butusov <[email protected]>
    End-rey committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    cfee1ee View commit details
    Browse the repository at this point in the history
  2. node/control: add object revive control command

    Includes API definition extending, RPC implementation, tests of metabase func.
    The command requests server's storage engine to revive object by address. It's
    purge all removal marks from all metabases and returns revival statuses.
    
    Signed-off-by: Andrey Butusov <[email protected]>
    End-rey committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    fb212c3 View commit details
    Browse the repository at this point in the history
  3. neofs-cli/control: add object revive control command

    Support command that revive object by purging all removal marks from all
    metabases.
    
    ```
    $ neofs-cli control object status --endpoint s04.neofs.devenv:8081 -w
    services/storage/wallet04.json --object 4yYJV2AyHaJ3fpVimEihAj6NTkwmanbwE7YatJUWBPyM/CYUeRyjfiNXhBMW9XZmdSBJNVLXYBH3gSNQASWTGZX8t
    Enter password >
    Shard ID: 2wEzFvWsao9yBiDWKjSBfF
    	metabase: AVAILABLE
    	peapod: path: "/storage/peapod1.db"
    $ neofs-cli object delete -r s04.neofs.devenv:8080 -w services/storage/wallet04
    .json --cid 4yYJV2AyHaJ3fpVimEihAj6NTkwmanbwE7YatJUWBPyM --oid CYUeRyjfiNXhBMW9XZmdSBJNVLXYBH3gSNQASWTGZX8t
    Enter password >
    Object CYUeRyjfiNXhBMW9XZmdSBJNVLXYBH3gSNQASWTGZX8t removed successfully.
      ID: C2LrMExCF3FTfQaFYYZfoDGLpsUVLUy156pUpWh72YeN
      CID: 4yYJV2AyHaJ3fpVimEihAj6NTkwmanbwE7YatJUWBPyM
    $ neofs-cli control object status --endpoint s04.neofs.devenv:8081 -w
    services/storage/wallet04.json --object 4yYJV2AyHaJ3fpVimEihAj6NTkwmanbwE7YatJUWBPyM/CYUeRyjfiNXhBMW9XZmdSBJNVLXYBH3gSNQASWTGZX8t
    Enter password >
    Shard ID: 2wEzFvWsao9yBiDWKjSBfF
    	metabase: AVAILABLE,IN GRAVEYARD
    	peapod: path: "/storage/peapod1.db"
    $ neofs-cli control object revive --endpoint s04.neofs.devenv:8081 -w
    services/storage/wallet04.json --object 4yYJV2AyHaJ3fpVimEihAj6NTkwmanbwE7YatJUWBPyM/CYUeRyjfiNXhBMW9XZmdSBJNVLXYBH3gSNQASWTGZX8t
    Enter password >
    Shard ID: Vuy2Q8QaPZSuUxDycPxSBC
    Revival status: don't revive, err: logical error: object neither in the graveyard nor was marked with GC mark
    Shard ID: 2wEzFvWsao9yBiDWKjSBfF
    Revival status: successful revival from graveyard, tomb: 4yYJV2AyHaJ3fpVimEihAj6NTkwmanbwE7YatJUWBPyM/C2LrMExCF3FTfQaFYYZfoDGLpsUVLUy156pUpWh72YeN
    $ neofs-cli control object status --endpoint s04.neofs.devenv:8081 -w
    services/storage/wallet04.json --object 4yYJV2AyHaJ3fpVimEihAj6NTkwmanbwE7YatJUWBPyM/CYUeRyjfiNXhBMW9XZmdSBJNVLXYBH3gSNQASWTGZX8t
    Enter password >
    Shard ID: 2wEzFvWsao9yBiDWKjSBfF
    	metabase: AVAILABLE
    	peapod: path: "/storage/peapod1.db"
    ```
    
    Closes #1450.
    
    Signed-off-by: Andrey Butusov <[email protected]>
    End-rey committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    2694957 View commit details
    Browse the repository at this point in the history