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

Reason about in-flight packets for port router refactor change #7044

Closed
3 tasks
colin-axner opened this issue Aug 5, 2024 · 2 comments
Closed
3 tasks

Reason about in-flight packets for port router refactor change #7044

colin-axner opened this issue Aug 5, 2024 · 2 comments
Labels
feat: port-router needs discussion Issues that need discussion before they can be worked on

Comments

@colin-axner
Copy link
Contributor

Summary

We should reason about in-flight packets which would occur when a chain upgrades from the old port router design to the new. I am particularly interested in async acknowledgement handling as that should be the main area which could be problematic. To handle this, we may need to add a one time interface which has a middleware migrate given this circumstance.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@colin-axner colin-axner added needs discussion Issues that need discussion before they can be worked on feat: port-router labels Aug 5, 2024
@colin-axner colin-axner added this to the 05-port refactor alpha milestone Aug 5, 2024
@colin-axner
Copy link
Contributor Author

We are particularly concerned about in-flight acknowledgements. Because of async processing, we might have partial logic executed (OnRecvPacket calls) and after the upgrade be using the new processing logic. One solution that comes to mind is to repurpose the existing WriteAcknowledgement ICS4Wrapper function to be called by the core keeper if we are processing a packet which came from the old logic.

That is, if we were not expecting an async ack from a certain channel/packet, then we should call OnWriteAcknowledgement as a sort of migration handler for that packet, indicating to the application it was processed via OnRecvPacket using an older version, and now we are processing it async on the new version

@colin-axner
Copy link
Contributor Author

This issue is being closed as the team has decided to move in another direction #6941 (comment) - it will be reopened if necessary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat: port-router needs discussion Issues that need discussion before they can be worked on
Projects
Status: Done 🥳
Development

No branches or pull requests

1 participant