textileio / papers

Textile Whitepapers
12 stars 3 forks source link

Clarify what is a delete operation #47

Closed sanderpick closed 4 years ago

sanderpick commented 4 years ago

From @Gozala

  • I though event delete operation needed a bit more clarification. Specifically does it imply that event body is purged?
carsonfarmer commented 4 years ago

What are the semantics here? For the log, this implies a tombstone event. But what about on the Store side? Do we enforce a local Store purge of the 'raw' data? Should the underlying IPFS Peer be required to drop the associated Blocks? To support an actual 'drop', we might have to think pretty carefully about how we 'rerun' an Event Log through a (set of) Reducers/Stores.

carsonfarmer commented 4 years ago

Here's @sanderpick's response: In threads v1, there is a native event that marks another as deleted, and then the inner nodes are unpinned (including body). Here though, where the interaction is at the higher level of the model, deletes are at the level of the Action: https://github.com/textileio/go-textile-core/blob/master/store/store.go#L50. Issue created: #47

carsonfarmer commented 4 years ago

Ideally data is kept and the tombstone event takes care of things, in strict compliance situations, a snapshot can be generated and the previous data can be purged from the event and block stores.