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

Optional Abomonation? #362

Open
8573 opened this issue Mar 30, 2022 · 1 comment
Open

Optional Abomonation? #362

8573 opened this issue Mar 30, 2022 · 1 comment

Comments

@8573
Copy link

8573 commented Mar 30, 2022

Warning: Abomonation should not be used on any data you care strongly about, or from any computer you value the data on. The encode and decode methods do things that may be undefined behavior, and you shouldn't stand for that.

For those who are quite willing to comply with that last independent clause :-) and avoid the "very unsafe serialization library", how feasible would it be to make Abomonation an optional dependency? I don't mean to request any difficult overhaul of the code, if it would entail that, but perhaps it would not?

I see it was written in 2019 that

If Abomonation ends up being problematic, there is also a bincode flag you can use to switch the serialization over to serde-based traits.

but I don't see how that flag (of timely-dataflow) would suffice to avoid the dependency on Abomonation.

@antiguru
Copy link
Member

(This issue is more related to Timely rather than Differential)

It's possible to switch to bincode using the feature of the same name as the serialization layer, which will eliminate most of the Abomonation code from being used. Currently, the networked mode will still use Abomonation to serialize the network headers, but this part is less scary.

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

No branches or pull requests

2 participants