Skip to content

Conversation

@h0tw1r3
Copy link

@h0tw1r3 h0tw1r3 commented Jan 16, 2026

Continuation of PR #9397

This PR just adds a few commits to create a single function as requested (#9397 (comment)) and test coverage.

In addition to the performance improvements with xxhash, my motivation was to remove md5 crypto as a whole because it's not supported when enabling FIPS mode.

Original PR description below

Check List

  • Tests have been run in packages where changes have been made if available
  • Linter has been run for changed code
  • Tests for the changes have been added if not covered yet
  • Docs have been added / updated if required

Switch to using faster xxhash for cache keys and versions of data models instead of slow crypto.createHash('md5').
Use the fastest node xxhash implementation, written in ... of course rust :)

XXH3: generates 64 or 128-bit hashes, using vectorized arithmetic.

Here are some more info for those who is interested:

@h0tw1r3 h0tw1r3 requested review from a team as code owners January 16, 2026 16:51
@github-actions github-actions bot added javascript Pull requests that update Javascript code data source driver pr:community Contribution from Cube.js community members. labels Jan 16, 2026
@h0tw1r3
Copy link
Author

h0tw1r3 commented Jan 16, 2026

@ovr tagging as you requested the shared defaultHasher interface

@h0tw1r3 h0tw1r3 force-pushed the feat/xxhash branch 2 times, most recently from a0edab9 to 2b35b72 Compare January 22, 2026 20:14
@h0tw1r3 h0tw1r3 changed the title feat: replace crypto md5 key/version hashing with single function based on xxhash feat(backend-shared): replace crypto md5 hashing with xxhash Jan 30, 2026
@h0tw1r3 h0tw1r3 changed the title feat(backend-shared): replace crypto md5 hashing with xxhash feat(backend-shared, server-core, query-orchestrator): replace crypto md5 hashing with xxhash Jan 30, 2026
@h0tw1r3
Copy link
Author

h0tw1r3 commented Jan 31, 2026

@KSDaemon curious why did you close the original PR?

@KSDaemon
Copy link
Contributor

@h0tw1r3 Hey! Well... I stepped out of the Cube Core team, and I don't think anyone would take this initiative to finish... So all hope rests on you! :)

@h0tw1r3
Copy link
Author

h0tw1r3 commented Feb 1, 2026

@h0tw1r3 Hey! Well... I stepped out of the Cube Core team, and I don't think anyone would take this initiative to finish... So all hope rests on you! :)

It's ready to go! I don't want to be a bother, but I have no idea how to get anyone's attention for a review. Any help would be greatly appreciated.

Very interested in using Cube, but the customers I work with have strict security guidelines (FIPS). If node can be run in FIPS mode, it opens up a new class of users to Cube.

@KSDaemon
Copy link
Contributor

KSDaemon commented Feb 1, 2026

@h0tw1r3 I'll ping guys from the Core team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data source driver javascript Pull requests that update Javascript code pr:community Contribution from Cube.js community members.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants