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
In #374 we fixed the panics in event handling, but there are still some others that are unaddressed. We still need to fix them, which is important for any kind of remote persistence, especially VSS.
Note that many of the -on-persistence-failure-panics are happening in upstream code or are blocked by upstream developments. So this is marked 'blocked on upstream' for now.
This was mostly addressed by #919, but there are still remaining cases we'd need to address to fully resolve this. For the local ones we'd need some kind of wrapper for the node that cleanly shuts down and attempts restart whenever we hit a persistence failure (after retries for VSS, ofc). We also still have UnrecoverableError variants upstream that we'd need to drop to fully resolve this.
P0, easy: make the background processor task return Result<(), io::Error> and make Node::stop() return Error::PersistenceFailed instead of panicking when final persistence fails.
P1, not easy: running-node persistence failures should remain tracked for a restart/refactor design.
The only thing we could realistically do to "fix" these would be to simply remove the UnrecoverableError return value. If this is still somehow an "issue" we should just do that - this is not blocked on upstream, there is no way to handle this in lightning, the only appropriate way to handle this is to set a flag in ldk-node, do not "complete" the async monitor update persistence, and read that flag to shut down.
Activity
tnull commentedon Nov 17, 2025
In particular, this will require fully switching over to
KVStore(i.e., includingChannelMonitorpersistence) which we intend to do for v0.8.tnull commentedon Jun 11, 2026
This was mostly addressed by #919, but there are still remaining cases we'd need to address to fully resolve this. For the local ones we'd need some kind of wrapper for the node that cleanly shuts down and attempts restart whenever we hit a persistence failure (after retries for VSS, ofc). We also still have
UnrecoverableErrorvariants upstream that we'd need to drop to fully resolve this.With #919, #782, #667 we made some good progress here, but for now I'll remove this from the 0.8 milestone.
TheBlueMatt commentedon Jul 24, 2026
The only thing we could realistically do to "fix" these would be to simply remove the
UnrecoverableErrorreturn value. If this is still somehow an "issue" we should just do that - this is not blocked on upstream, there is no way to handle this inlightning, the only appropriate way to handle this is to set a flag inldk-node, do not "complete" the async monitor update persistence, and read that flag to shut down.