-
Notifications
You must be signed in to change notification settings - Fork 53
Update hash algo to 64bit to reduce collisions #283
Conversation
Signed-off-by: Haytham Abuelfutuh <[email protected]>
Signed-off-by: Haytham Abuelfutuh <[email protected]>
Signed-off-by: Haytham Abuelfutuh <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #283 +/- ##
==========================================
+ Coverage 63.26% 63.34% +0.07%
==========================================
Files 145 145
Lines 9266 9278 +12
==========================================
+ Hits 5862 5877 +15
+ Misses 2870 2866 -4
- Partials 534 535 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Signed-off-by: Haytham Abuelfutuh <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the max execution name length just increased to 63 in this PR. Do we want to use a 128 bit version of the algorithm?
On second thought, probably a bad idea. We'll start running into issues with task id length. edit: maybe not?!?! this code is pretty complex. |
@hamersaw Unfortunately we can't guarantee the Admin version propeller will be talking to. I can add support for 128 in the plugins PR though... The admin PR should have bumped the EventVersion in the propeller CRD so that propeller code and make decisions based on the updated Admin.. |
Signed-off-by: Haytham Abuelfutuh <[email protected]>
Signed-off-by: Haytham Abuelfutuh <[email protected]>
* Update Encoding Length hash to 64bit to reduce collisions Signed-off-by: Haytham Abuelfutuh <[email protected]> * Allow customization of hashing algorithm Signed-off-by: Haytham Abuelfutuh <[email protected]> * Fix tests and add an algorithm test Signed-off-by: Haytham Abuelfutuh <[email protected]> * docs Signed-off-by: Haytham Abuelfutuh <[email protected]> * Support 128-bit fnv as well Signed-off-by: Haytham Abuelfutuh <[email protected]> * tab -> spaces Signed-off-by: Haytham Abuelfutuh <[email protected]> Signed-off-by: Haytham Abuelfutuh <[email protected]>
Signed-off-by: Haytham Abuelfutuh [email protected]
TL;DR
We use 64bit fnv hashing to shorten the execution id lengths, however that has lead to collisions due to its low entropy. Bumping it to 64bit to reduce such collisions.
Type
Are all requirements met?
Tracking Issue
flyteorg/flyte#2778