OpenLiberty / OpenLiberty/liberty-tools-eclipse

Expanding "Source lookup" twistie => slow to populate for large projects with many Maven dependencies

Open
#463 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
16
Forks
20
Avg merge
2d 9h
Merged PRs (30d)
16

Description

I used a fairly-large multimodule project. It seems to involve an EAR, with maybe 15 modules incl. WARs and JARs altogether. There are a bit less than 100 transitive dependencies.

When I expand the twistie under "Default" in the Source Lookup view:

image

nothing appears to happen. It seems like maybe the mouse click didn't even register and I should click again?

But actually the UI content is simply taking a long time to be calculated and to populate.

Maybe about 15 seconds? (I didn't time it carefully.)

Perhaps we could calculate this proactively in the background once debug is launched, rather than lazily when it's expanded?
We wouldn't want to slow down the Debug startup path too much and lose the benefits of doing things lazily, only-as-needed.

I don't think we'd want to do the calculation too early, say on project import, since then we have to worry about the dependencies having changed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the delay by expanding the “Default” twistie in the Source Lookup view for a large multimodule Maven project with many transitive dependencies. Trace when the source lookup content is calculated relative to Debug startup, then verify that the view populates promptly without imposing an unacceptable startup delay or using stale dependency data.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.