Skip to content

Make test backend ownership and conditional writes atomic - #29

Open
jeregrine wants to merge 1 commit into
mainfrom
test/atomic-probe-backend
Open

Make test backend ownership and conditional writes atomic#29
jeregrine wants to merge 1 commit into
mainfrom
test/atomic-probe-backend

Conversation

@jeregrine

Copy link
Copy Markdown
Member

Problem

The consistency-probe backend checks ETS before inserting or deleting. Concurrent claims can both succeed, and conditional writes/deletes can consume the same ETag more than once. This gives concurrency regressions a storage model that violates the backend contract.

Fix

Use atomic ETS insert-new, select-replace, select-delete, and take operations. Keep fault overrides and call recording intact. Treat stored values as literal match-spec data.

Add focused contract cases for contended creation, writes sharing a token, write/delete races, and stale tokens after deletion and replacement.

Supporting information

This changes only the test backend. Production adapters and their consistency semantics are unchanged.

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

Successfully merging this pull request may close these issues.

1 participant