Skip to content

Conversation

@TillaTheHun0
Copy link
Member

@TillaTheHun0 TillaTheHun0 commented Jan 11, 2024

Closes #30

This PR removes the recursion that was being used to power things like listDocs and deleting all keys on destroyStore and replaces it with a trampoline. This will allow those calls to succeed, for larger datasets, that would otherwise fail due to deep recursion.

This PR also exposes hashSlot which enables backwards compatibility with version 2 of the adapter, which does not use hash slots when creating keys. With hashSlot disabled, multi-key operations that can span multiple hashSlots will instead be performed individually to prevent CROSSSLOT errors like seen in #16 . Additional unit tests are implemented to ensure both hashSlot and no hashSlot works.

@TillaTheHun0 TillaTheHun0 merged commit 8a47984 into main Jan 11, 2024
@TillaTheHun0 TillaTheHun0 deleted the tillathehun0/query-on-sufficiently-30 branch January 11, 2024 21:51
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.

query on sufficiently large keyspace causes "maximum callstack exceeded"

2 participants