cultcache-ts CHANGELOG: scope the C# claim to what the code does
Fixes variants:finding:cut-ts-store-write.s2.changelog-csharp-any-write-overclaim: a C# conditional commit on a clean store lands onto the current file; other C# writes can still overwrite concurrent TypeScript records. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4a2acf0e35
commit
b549d73183
1 changed files with 3 additions and 2 deletions
|
|
@ -10,8 +10,9 @@ All notable changes to `@gamecult/cultcache-ts` are recorded here, following
|
|||
interoperable with the C# and Rust runtimes (`flock` on Unix, `LockFileEx` on Windows).
|
||||
`push` and `delete` read the current file, merge and replace it under the lock, so concurrent
|
||||
TypeScript and Rust writers no longer lose each other's records across those calls. A full
|
||||
`pushAll` still replaces the whole store, and so does any C# write, so records a concurrent
|
||||
writer added are still lost to either of them.
|
||||
`pushAll` still replaces the whole store, so records a concurrent writer added are lost to it.
|
||||
C# writes are not all alike: a conditional commit on a clean store lands onto the file as it
|
||||
is, but C# writers can still overwrite records a concurrent TypeScript writer added.
|
||||
- The staged file is fsynced before the replace, and on Unix the directory after it. A
|
||||
directory sync failure after the replace is reported as replaced but not durable.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue