Skip to content

Implement retry-based conflict resolution #3397

@wjones127

Description

@wjones127

Right now, Transaction::conflicts_with returns a boolean. But if we can differentiate between conflicts that can be retried, and those that can't, then we can have the operations themselves retry. This should be enough to make common operations like append, update, upsert, delete, create_index, and compaction always succeed despite concurrency.

Making this differentiation is also a pre-requisite for #3068, as we'll need to do a similar differentiation for things that can be automatically resolved.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions