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

[Cassandra] Orphan data check #88

Open
sylvlecl opened this issue May 25, 2021 · 0 comments
Open

[Cassandra] Orphan data check #88

sylvlecl opened this issue May 25, 2021 · 0 comments
Assignees

Comments

@sylvlecl
Copy link
Contributor

  • Do you want to request a feature or report a bug?

Feature

  • What is the current behavior?

It's easy to create data linked to a non existing node, for example:

    void testOrphanData() throws IOException {
        try (OutputStream outputStream = storage.writeBinaryData(UUIDs.timeBased().toString(), "DATA")) {
            outputStream.write("test".getBytes(StandardCharsets.UTF_8));
        }
    }

It can happen in real life situation if a client still has a reference to a deleted node.
Even if we add a check at write time, it could still happen because of concurrency issues.

  • What is the expected behavior?

Provide an ORPHAN_DATA check in CassandraAppStorage. It will identify the data which are linked to a non existing node.
The repair will simply delete those data.

  • What is the motivation / use case for changing the behavior?

Being able to identify and delete orphan data, which can waste some disk space.

This was referenced May 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants