Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Channel::pending_monitor_updates TLV even #2317

Closed
TheBlueMatt opened this issue May 24, 2023 · 0 comments · Fixed by #2392
Closed

Make Channel::pending_monitor_updates TLV even #2317

TheBlueMatt opened this issue May 24, 2023 · 0 comments · Fixed by #2392
Assignees
Milestone

Comments

@TheBlueMatt
Copy link
Collaborator

With 116 we should make the pending monitor updates an even TLV as we won't support downgrades to 115 for users of the async monitor update pipeline. I also plan on moving the unblocked ones back out to ChannelManager to make handling #2168 simpler.

@TheBlueMatt TheBlueMatt added this to the 0.0.116 milestone May 24, 2023
@TheBlueMatt TheBlueMatt self-assigned this Jun 8, 2023
@TheBlueMatt TheBlueMatt linked a pull request Jun 19, 2023 that will close this issue
TheBlueMatt added a commit to TheBlueMatt/rust-lightning that referenced this issue Jul 5, 2023
In 9dfe42c,
`ChannelMonitorUpdate`s were stored in `Channel` while they were
being processed. Because it was possible (though highly unlikely,
due to various locking likely blocking persistence) an update was
in-flight (even synchronously) when a `ChannelManager` was
persisted, the new updates were persisted via an odd TLV.

However, in 4041f08 these pending
monitor updates were moved to `ChannelManager`, with appropriate
handling there. Now the only `ChannelMonitorUpdate`s which are
stored in `Channel` are those which are explicitly blocked, which
requires the async pipeline.

Because we don't support async monitor update users downgrading to
0.0.115 or lower, we move to persisting them via an even TLV. As
the odd TLV storage has not yet been released, we can do so
trivially.

Fixes lightningdevkit#2317.
@jkczyz jkczyz changed the title Make Channel::pending_monitor_updates TLV event Make Channel::pending_monitor_updates TLV even Jul 6, 2023
jbesraa pushed a commit to jbesraa/rust-lightning that referenced this issue Jul 11, 2023
In 9dfe42c,
`ChannelMonitorUpdate`s were stored in `Channel` while they were
being processed. Because it was possible (though highly unlikely,
due to various locking likely blocking persistence) an update was
in-flight (even synchronously) when a `ChannelManager` was
persisted, the new updates were persisted via an odd TLV.

However, in 4041f08 these pending
monitor updates were moved to `ChannelManager`, with appropriate
handling there. Now the only `ChannelMonitorUpdate`s which are
stored in `Channel` are those which are explicitly blocked, which
requires the async pipeline.

Because we don't support async monitor update users downgrading to
0.0.115 or lower, we move to persisting them via an even TLV. As
the odd TLV storage has not yet been released, we can do so
trivially.

Fixes lightningdevkit#2317.
optout21 pushed a commit to optout21/rust-lightning that referenced this issue Jul 24, 2023
In 9dfe42c,
`ChannelMonitorUpdate`s were stored in `Channel` while they were
being processed. Because it was possible (though highly unlikely,
due to various locking likely blocking persistence) an update was
in-flight (even synchronously) when a `ChannelManager` was
persisted, the new updates were persisted via an odd TLV.

However, in 4041f08 these pending
monitor updates were moved to `ChannelManager`, with appropriate
handling there. Now the only `ChannelMonitorUpdate`s which are
stored in `Channel` are those which are explicitly blocked, which
requires the async pipeline.

Because we don't support async monitor update users downgrading to
0.0.115 or lower, we move to persisting them via an even TLV. As
the odd TLV storage has not yet been released, we can do so
trivially.

Fixes lightningdevkit#2317.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant