Skip to content

Public outbox single message auto-replacement should use timestamp for priority #2

@jagerman

Description

@jagerman

Currently when uploading a new message to a public outbox all existing messages are cleared, by design, so that the public outbox only has a single message in it at a time.

This is currently racy: two different public outbox storage requests arriving at approximately the same time at different swarm entry points (or some messages arriving late, e.g. from a temporarily down node with delayed delivery) would result in different messages being stored on different subsets of the swarm.

This should be fixed by incorporate the timestamp as well into the outbox storage logic: storage should only be allowed if there is no existing (non-duplicate) message in the outbox with an equal or later timestamp, and an error should be returned if attempting to store into an outbox that already has a newer message.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions