-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bugfix: S3C-3955 ignore errors from readRecords during LogReader setup
The getRaftLog route returns an error 500 when a queried raft session is not in cache. This, when the queue populator had multiple raft sessions to manage, caused the whole setup to fail if one of them failed. Previously, before S3C-3835 was fixed, it happened during regular cron job batches which only impacted the missing raft session and logged an error without preventing progress from other raft sessions. The fix consists of not causing a global error on error 500 from one raft session, and instead falling back to starting from log offset 1. This looks acceptable as a quick fix, but it would be better to have metadata return a proper success status whenever raft sessions are missing from its cache, but the scope is larger hence this improvement over the current fix is postponed for now. Another way could be to internally retry fetching the offset while allowing the rest of the log readers to fetch their respective raft session log, but this would also be a significant change and does not look the best approach to me either.
- Loading branch information
1 parent
0d50c85
commit bf3525b
Showing
2 changed files
with
47 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters