DOT-6786: Add support for concurrent snapshot upload in case of remote discovery #408
+60
−10
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.
This pull request introduces support for configurable concurrent snapshot processing in the queue system. The main changes include adding a new
MAX_CONCURRENT_PROCESSINGenvironment variable, updating theEnvtype, and refactoring the snapshot queue logic to process multiple snapshots in parallel based on this configuration.Configurable concurrency for snapshot processing:
MAX_CONCURRENT_PROCESSINGto control the maximum number of snapshots processed in parallel, with parsing and defaulting logic insrc/lib/env.tsand theEnvtype updated insrc/types.ts. [1] [2] [3]MAX_CONCURRENT_PROCESSINGandactiveProcessingCountproperties in theQueueclass (src/lib/snapshotQueue.ts) to manage and track concurrent processing.Queue processing logic improvements:
processNextmethod inQueueto batch and process multiple snapshots concurrently when remote discovery is enabled and certain config flags are set, using the new concurrency controls.processSnapshotmethod to encapsulate single snapshot processing, and updated flow to avoid recursive calls and ensure proper concurrency management. [1] [2] [3]