feat(uptime): Add ability to use queues to manage parallelism#7
Open
akshayutture-augment wants to merge 1 commit into
Open
feat(uptime): Add ability to use queues to manage parallelism#7akshayutture-augment wants to merge 1 commit into
akshayutture-augment wants to merge 1 commit into
Conversation
One potential problem we have with batch processing is that any one slow item will clog up the whole batch. This pr implements a queueing method instead, where we keep N queues that each have their own workers. There's still a chance of individual items backlogging a queue, but we can try increased concurrency here to reduce the chances of that happening <!-- Describe your PR here. -->
|
You have run out of free Bugbot PR reviews for this billing cycle. This will reset on December 14. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
Author
|
cursor review |
| for partition, offset in committable.items(): | ||
| self.queue_pool.offset_tracker.mark_committed(partition, offset) | ||
| except Exception: | ||
| logger.exception("Error in commit loop") |
There was a problem hiding this comment.
Bug: Shutdown: Uncommitted Offsets Lost
The _commit_loop calls shutdown_event.wait(1.0) at the start of each iteration. When shutdown_event is set during close(), the wait returns immediately, causing the loop condition check to exit without performing a final commit. This means any offsets that became committable between the last commit and shutdown will be lost, potentially causing message reprocessing on restart.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test 9
Replicated from ai-code-review-evaluation/sentry-cursor#9
Note
Introduces a queue-based threaded processing mode for uptime results that preserves per-group ordering and safely commits offsets, with full integration and tests.
thread-queue-parallelmode toResultsStrategyFactoryand CLIuptime-options.create_thread_queue_parallel_worker) and graceful shutdown.sentry/remote_subscriptions/consumers/queue_consumer.py):OffsetTrackerfor per-partition contiguous offset commits.FixedQueuePoolwith consistent group-to-queue mapping and single-thread workers to preserve order.SimpleQueueProcessingStrategywith background commit loop and metrics.sentry/consumers/__init__.py):uptime_optionsto includethread-queue-parallel; clarify--max-workershelp.OffsetTracker,FixedQueuePool, andSimpleQueueProcessingStrategy.Written by Cursor Bugbot for commit 33f4fdd. Configure here.