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

Remove deprecated ibid support #2898

Merged
merged 1 commit into from
Apr 24, 2021
Merged

Remove deprecated ibid support #2898

merged 1 commit into from
Apr 24, 2021

Conversation

erights
Copy link
Member

@erights erights commented Apr 16, 2021

Removes all support for ibids in the network protocol. The previous PR #2886 deprecated them, so that they would never be used by the serializer under default settings. Under default settings, the serializer also detects and throws on cycles. In this PR there are no non-default settings for overriding this. The serializer always throws on cycles, and never uses ibids. This part is a compatible transition.

Pass-by-copy DAGs are always encoded as trees. This is potentially explosive of space, but this is the better side to be explosive on. With ibids, DAGs could be sent and cause an explosive amount of computation by the receiver. This is true despite the fact that they were unserialized as the same DAGs, since many of our recursive algorithms treat the pass-by-copy structure as trees anyway.

With this PR, the unserialization no longer recognizes and processes ibids. (Actually, it still recognizes them only to the extent of giving a more informative error message.) This is an incompatible transition we need to figure out how to manage. Once a system is upgraded to this PR, it will no longer be able to understand messages sent by a system running code prior to #2886 . #2886 does serve as a bridge because it is able to speak to systems both prior to #2886 and to systems after this PR.

How should we manage that transition?

@erights erights self-assigned this Apr 16, 2021
@erights erights requested a review from FUDCo April 16, 2021 02:59
@erights erights changed the title WIP Remove deprecated ibid support Remove deprecated ibid support Apr 16, 2021
@erights erights marked this pull request as ready for review April 16, 2021 03:12
Copy link
Contributor

@FUDCo FUDCo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same comment as #2886

@erights
Copy link
Member Author

erights commented Apr 24, 2021

same comment as #2886

Which one?

@erights erights enabled auto-merge (squash) April 24, 2021 02:07
@erights erights disabled auto-merge April 24, 2021 02:07
@erights erights enabled auto-merge (squash) April 24, 2021 02:07
@erights erights merged commit f865a2a into master Apr 24, 2021
@erights erights deleted the markm-de-ibid-ify branch April 24, 2021 02:17
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 this pull request may close these issues.

2 participants