fix: skip batch mode for HTTP /load to allow parallel track loading - #1850
Open
bsgarciac wants to merge 2 commits into
Open
fix: skip batch mode for HTTP /load to allow parallel track loading#1850bsgarciac wants to merge 2 commits into
bsgarciac wants to merge 2 commits into
Conversation
Port/batch script commands still force batch mode for synchronization. HTTP /load requests pass forceBatch=false so tracks can load in parallel instead of sequentially. Relates to igvteam#1849.
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.
Summary
Fixes the sequential track loading issue reported in #1849.
When loading multiple tracks via the HTTP command listener (
/load),loadFileswas unconditionally callingGlobals.setBatch(true), which forced synchronous/sequential loading. This is necessary for port/batch script commands (where the next command is unknown), but not for HTTP requests where all files are known upfront.Changes:
boolean forceBatchparameter toloadFilesinCommandExecutorforceBatch=true(no behavior change)/loadpath passesforceBatch=false, allowing IGV to load tracks without forcing batch modeImpact
/load: tracks can now load in parallel instead of sequentiallyloadTracksreturns regardless of batch modeTest case
Loading 11 remote BAM files via HTTP
/loadpreviously took ~4.5 minutes (11 × ~25 sec sequential). With this change, loading time should drop significantly as tracks load in parallel.Closes #1849