ipfs-cluster/pintracker/optracker
Hector Sanjuan 21855c3130 Fix bad context propagation / deadlocks
We are propagating the wrong context (mostly from the Cluster top-level
methods). This makes that request cancellations (and cancellations of the
associated contexts) are not propagated to many methods, and can result in
deadlocks when an operation that is holding a lock is not aborted.

This affects for example the operation tracker. Getting all operations from
the tracker relies on someone reading from the out channel, or on the context
being cancelled. When a request is aborted in the middle of the response, and
the context is not cancelled, everything that wants to list operations would
become deadlocked, including operations that need write locks like
TrackNewOperation.

This fixes it.
2022-09-26 19:35:55 +02:00
..
operation_test.go Rename Cancelled to Canceled in operationtracker 2022-06-16 17:43:30 +02:00
operation.go Fix bad context propagation / deadlocks 2022-09-26 19:35:55 +02:00
operationtracker_test.go Rename Cancelled to Canceled in operationtracker 2022-06-16 17:43:30 +02:00
operationtracker.go Fix bad context propagation / deadlocks 2022-09-26 19:35:55 +02:00
operationtype_string.go go:generate stringer phase and operationtype 2019-05-07 12:24:28 +10:00
phase_string.go go:generate stringer phase and operationtype 2019-05-07 12:24:28 +10:00