swarm: fix network/stream data races (#19051)
* swarm/network/stream: newStreamerTester cleanup only if err is nil * swarm/network/stream: raise newStreamerTester waitForPeers timeout * swarm/network/stream: fix data races in GetPeerSubscriptions * swarm/storage: prevent data race on LDBStore.batchesC https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461775049 * swarm/network/stream: fix TestGetSubscriptionsRPC data race https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461768477 * swarm/network/stream: correctly use Simulation.Run callback https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461783804 * swarm/network: protect addrCountC in Kademlia.AddrCountC function https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-462273444 * p2p/simulations: fix a deadlock calling getRandomNode with lock https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-462317407 * swarm/network/stream: terminate disconnect goruotines in tests * swarm/network/stream: reduce memory consumption when testing data races * swarm/network/stream: add watchDisconnections helper function * swarm/network/stream: add concurrent counter for tests * swarm/network/stream: rename race/norace test files and use const * swarm/network/stream: remove watchSim and its panic * swarm/network/stream: pass context in watchDisconnections * swarm/network/stream: add concurrent safe bool for watchDisconnections * swarm/storage: fix LDBStore.batchesC data race by not closing it
Showing
- p2p/simulations/network.go 1 addition, 1 deletionp2p/simulations/network.go
- swarm/network/kademlia.go 3 additions, 0 deletionsswarm/network/kademlia.go
- swarm/network/stream/common_test.go 58 additions, 4 deletionsswarm/network/stream/common_test.go
- swarm/network/stream/delivery_test.go 20 additions, 55 deletionsswarm/network/stream/delivery_test.go
- swarm/network/stream/intervals_test.go 5 additions, 25 deletionsswarm/network/stream/intervals_test.go
- swarm/network/stream/lightnode_test.go 4 additions, 4 deletionsswarm/network/stream/lightnode_test.go
- swarm/network/stream/norace_test.go 24 additions, 0 deletionsswarm/network/stream/norace_test.go
- swarm/network/stream/race_test.go 23 additions, 0 deletionsswarm/network/stream/race_test.go
- swarm/network/stream/snapshot_sync_test.go 36 additions, 22 deletionsswarm/network/stream/snapshot_sync_test.go
- swarm/network/stream/stream.go 6 additions, 0 deletionsswarm/network/stream/stream.go
- swarm/network/stream/streamer_test.go 46 additions, 24 deletionsswarm/network/stream/streamer_test.go
- swarm/network/stream/syncer_test.go 37 additions, 28 deletionsswarm/network/stream/syncer_test.go
- swarm/network/stream/visualized_snapshot_sync_sim_test.go 11 additions, 33 deletionsswarm/network/stream/visualized_snapshot_sync_sim_test.go
- swarm/storage/ldbstore.go 0 additions, 1 deletionswarm/storage/ldbstore.go
Loading
Please register or sign in to comment