-
Notifications
You must be signed in to change notification settings - Fork 546
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
Update zero-allocation-hashing and xx hash method name #959
base: master
Are you sure you want to change the base?
Conversation
I think this is going to be a breaking change, or at least require a lot of spot fixing when it re-enters the internal LinkedIn ecosystem. If you check internal code search, we use Side note: I don't think we should link to our internal systems (JIRA/Slack/etc.) from OSS PRs. |
can we roll it out with a minor version bump, like 29.49.0? |
Not without introducing runtime breaking changes and a lot of toil to clean up. Instead, we should try to migrate our internal usage of |
@@ -104,7 +104,7 @@ project.ext.externalDependency = [ | |||
'spock': 'org.spockframework:spock-core:1.3-groovy-2.5', | |||
'testng': 'org.testng:testng:6.13.1', | |||
'velocity': 'org.apache.velocity:velocity-engine-core:2.2', | |||
'zero_allocation_hashing': 'net.openhft:zero-allocation-hashing:0.7', | |||
'zero_allocation_hashing': 'net.openhft:zero-allocation-hashing:0.16', |
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.
this can use the custom fork now, right?
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.
Not yet; the custom fork is only released internally to LinkedIn. We need to update internal users to use our fork, and then change their code to use xx()
instead of xx_r39()
. After that, we are free to use net.openhft:zero-allocation-hashing:0.16
in Pegasus. We won't need to fork anymore at that point.
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.
got it. Thanks!
Summary
The
zero-allocation-hashing
library versions >0.7
are missing the methodLongHashFunction.xx_r39
required by pegasus, thus causing failures. However, it appears that the newer versions are being increasingly used by OSS libraries and thus with LI too.It looks like they just renamed
xx_r39
(xxHash algo release 39) toxx
to stop tying it to a particular release: OpenHFT/Zero-Allocation-Hashing@658079aThus, it should be safe for us to move over to
xx
.