Skip to content

Refactor and fix getBulk retry logic#187

Merged
shy-1234 merged 1 commit intomasterfrom
dev/sh/bulkchunkto
Mar 7, 2026
Merged

Refactor and fix getBulk retry logic#187
shy-1234 merged 1 commit intomasterfrom
dev/sh/bulkchunkto

Conversation

@shy-1234
Copy link
Contributor

@shy-1234 shy-1234 commented Mar 3, 2026

Before this change

  • When getBulk had a complete miss on the first attempt, the retry logic would stop retrying as long as at least one result was returned.
  • When getBulk had a partial miss on the first attempt, chunk read timeouts were never reflected in the metrics because hasZF was always true (unlike the complete-miss retry logic, where hasZF is set to false when it reaches the very last client).

After this change

  • getBulk complete miss and partial miss now share the same retry logic. The client will continue retrying to fetch missing keys, if any, until it has exhausted all available replicas.
  • When getBulk has a partial miss on the first attempt, it will now set hasZF to false when it reaches the last client, and will therefore correctly report chunk read timeouts to metrics when they occur on the last attempt (which is the one that should be reported).

@shy-1234 shy-1234 merged commit bfda254 into master Mar 7, 2026
1 check passed
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.

2 participants