-
Notifications
You must be signed in to change notification settings - Fork 8
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
Specify how to handle entries & operations in a deleted document #258
Comments
I'd like to include in the spec a strategy for handling the entries and operations contained in a deleted document. I believe there is a good strategy which is a compromise between respecting data deletion requests & retaining the log id ordering we need. I'll flesh out my proposal below. I think what I'm suggesting is a little harder than we've been imagining, probably because we love pinned relations ;-p I like the idea of starting from "delete means delete" (as far as that is possible) and then refining that to not make pinned relations broken and annoying. PROPOSAL:
This would mean that the document is in effect "gone" (it's CREATE operation has been deleted) and any incoming operations targeting this document would be rejected. A node would no longer replicate entries associated with this document on the network. I used SHOULD in the requirement above as this leaves a little flexibility to the node to retain, for example, known about pinned relations. PROS:
CONS:
ALTERNATIVE APPROACHES:
FUTURE:
|
Actually, in order to make sure the deletion request propagates/persists on the network, we probably need to retain the DELETE operation so it can be replicated further. This means the "alternative approach" might actually be required. |
This is now specified under requirement However, the specification needs further consideration and so I will open a new issue to discuss that. |
When the entries in a log are part of document which has been deleted, for storage saving/sparse replication we would want to remove as much of this log as possible. However, we need to still keep track of used logs, we can't re-use this log id. So we need to garbage collect while retaining "used log information". Some ideas:
The text was updated successfully, but these errors were encountered: