You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We were discussing an issue in rqlite/rqlite#1695 where a raft.Shutdown() prevents the program from exiting, since it is in the middle of a network transfer of the snapshot. If said snapshot is in the order of gigabytes this transfer step can take a long time.
Looking at the source code, it seems that raft blocks during the network transfer and does not check the shutdownCh channel to quit if a shutdown was initiated. There is a check for the shutdown signal in the restore future, but that happens after the transfer operation takes place.
I have a proposed fix here, I would be happy to submit a PR if it makes sense.
Another option would be to convert the network transfer into a future, but that may not be necessary.
The text was updated successfully, but these errors were encountered:
We were discussing an issue in rqlite/rqlite#1695 where a
raft.Shutdown()
prevents the program from exiting, since it is in the middle of a network transfer of the snapshot. If said snapshot is in the order of gigabytes this transfer step can take a long time.Looking at the source code, it seems that raft blocks during the network transfer and does not check the
shutdownCh
channel to quit if a shutdown was initiated. There is a check for the shutdown signal in the restore future, but that happens after the transfer operation takes place.I have a proposed fix here, I would be happy to submit a PR if it makes sense.
Another option would be to convert the network transfer into a future, but that may not be necessary.
The text was updated successfully, but these errors were encountered: