frostfs-node/pkg/local_object_storage
Evgenii Stratonikov e0309e398c [#2239] writecache: Fix possible deadlock
LRU `Peek`/`Contains` take LRU mutex _inside_ of a `View` transaction.
`View` transaction itself takes `mmapLock` [1], which is lifted after tx
finishes (in `tx.Commit()` -> `tx.close()` -> `tx.db.removeTx`)

When we evict items from LRU cache mutex order is different:
first we take LRU mutex and then execute `Batch` which _does_ take
`mmapLock` in case we need to remap. Thus the deadlock.

[1] 8f4a7e1f92/db.go (L708)

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-20 13:53:27 +03:00
..
blobovnicza [#1] Fix comments and error messages 2023-02-06 17:41:14 +03:00
blobstor [#31] fstree: Optimize treePath 2023-02-10 12:49:31 +03:00
engine [#2213] node: Do not return object expired object 2023-02-20 13:53:27 +03:00
internal Move to frostfs-node 2022-12-28 15:04:29 +03:00
metabase [#47] shard: Switch container size metric from physical to logical capacity 2023-02-17 12:03:42 +03:00
pilorama [#2232] pilorama: Merge in-queue batches 2023-02-20 13:53:27 +03:00
shard [#47] shard: Switch container size metric from physical to logical capacity 2023-02-17 12:03:42 +03:00
util Move to frostfs-node 2022-12-28 15:04:29 +03:00
writecache [#2239] writecache: Fix possible deadlock 2023-02-20 13:53:27 +03:00