Open raulk opened 3 years ago
If we fail to even open the channel, the expected behaviour is that it will fail the transfer immediately (it doesn't try to restart)
Once the channel is open (once we receive an Accept from the other side) it should attempt restarts.
Note also that you have to explicitly set the config in order to enable reconnect behaviour, see the config in lotus: https://github.com/filecoin-project/lotus/blob/885ecb97ad631fc64f538034390648e4da69966c/node/modules/client.go#L126-L140
Running the whitenoise tests and using an interruption policy of
0.2/1s
(20% probability that the connection will be interrupted every 1s), the opening of the push channel seems to block forever.This is really bad because it means that the system can't make progress and effectively the sender is seized because go-data-transfer never returns control
Output:
Here are three goroutine traces 2 minutes apart from one another:
stall.zip