• Matthew Slipper's avatar
    proxyd: Fix concurrent WS write panic (#2711) · 552cd641
    Matthew Slipper authored
    Fixes a panic in the websocket proxyd logic. Normally, the `clientPump` and `backendPump` methods in `WSProxier` send data in one direction. However, when the client sends an invalid RPC, the `clientPump` will send a response _directly to the client_ in order to avoid unnecessary roundtrips to the backend. This could be interleaved with concurrent writes to the client's WS in `backendPump`, and would cause a panic in the WS library.
    
    To test this, this PR includes a dedicated integration test that reliably triggers the issue. In addition, this PR adds additional testing for WS functionality.
    552cd641
Name
Last commit
Last update
..
testdata Loading commit data...
batch_timeout_test.go Loading commit data...
batching_test.go Loading commit data...
caching_test.go Loading commit data...
failover_test.go Loading commit data...
max_rpc_conns_test.go Loading commit data...
mock_backend_test.go Loading commit data...
rate_limit_test.go Loading commit data...
util_test.go Loading commit data...
validation_test.go Loading commit data...
ws_test.go Loading commit data...