question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve Performance of Fetching Descriptor file via TRS

See original GitHub issue

Is your feature request related to a problem? Please describe. The performance can be a little slow, at least locally, to fetch a single descriptor file.

Fetching one file from one particular workflow version results in 241 JDBC statements. This workflow has 572 versions:

curl -s -X GET "http://localhost:8080/api/ga4gh/v1/tools/%23workflow%2Fgithub.com%2Fbroadinstitute%2Fgatk%2Fcnv_somatic_pair_workflow/versions" -H  "accept: application/json" | jq '. | length'
572

Describe the solution you’d like

The current code loads up an entry and fetches all of its versions. It then looks in Java for the matching version to find the correct source file. That means it’s fetching all the versions (572 in my example above) only to discard all but one.

Instead, the code could just fetch the version or maybe even the source files directly from the DB, although it’s slightly more complicated than that; see surrounding code.

Describe alternatives you’ve considered Leave it. Seems to perform much better in a deployed env than in my local setup.

Additional context This is one of our heavily hit endpoints, when Terra is executing a workflow across many containers. On workflows without many versions it’s very fast, the one the one in my example it takes a couple of seconds, whereas its under 100ms for simple descriptors.

┆Issue is synchronized with this Jira Story ┆fixVersions: Dockstore 1.13 ┆friendlyId: DOCK-1921 ┆sprint: SEAB 83- Luca ┆taskType: Story

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:1
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
unito-botcommented, Feb 18, 2022

➤ Steve Von Worley commented:

Denis instructed that we should timebox this ticket to two hours for 1.12. I inspected the code and concluded that it would likely take me longer to complete the ticket: understand the code, modify it, test it, create/manage a PR, etc. So, I have changed the fix version to 1.13 and unassigned.

0reactions
denis-yuencommented, Jun 29, 2022

bad unito bot

Read more comments on GitHub >

github_iconTop Results From Across the Web

3 Common Hibernate Performance Issues in Your Log
A lot of Hibernate performance issues can be found in the log file. In this article, I show you 3 commons ones and...
Read more >
Performance and Tuning for Oracle WebLogic Server
This document is for people who monitor performance and tune the components in a WebLogic Server 10.3.6 environment. Page 2. Oracle Fusion Middleware ......
Read more >
Performance Tuning Guide Release 4.0 - Java EE
Performance Tuning Guide. Explains how to optimize the performance of GlassFish Server. Troubleshooting Guide. Describes common problems that you might ...
Read more >
Debugging of Performance Degradation in Distributed ...
This solution works by extracting performance metrics and state information from trace data collected at user-space, kernel, and network ...
Read more >
Monitor performance by using the Query Store - SQL Server
Query Store provides insight on query plan choice and performance for SQL Server, Azure SQL Database, Azure SQL Managed Instance, ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found