-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various improvements of the TP-Editor's content-assist #1449
Various improvements of the TP-Editor's content-assist #1449
Conversation
HannesWell
commented
Oct 18, 2024
- Make RepositoryCache static instead of singleton
- Consider all repositories of location for proposals
- Completely parallelize P2 metadata fetching
...nsion/src/org/eclipse/pde/internal/genericeditor/target/extension/model/RepositoryCache.java
Outdated
Show resolved
Hide resolved
...nsion/src/org/eclipse/pde/internal/genericeditor/target/extension/model/RepositoryCache.java
Outdated
Show resolved
Hide resolved
Map<String, List<IVersionedId>> map = toSortedMap(P2Fetcher.fetchAvailableUnits(r)); | ||
future.complete(map); | ||
}); | ||
job.setUser(true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think Jobs should have a group here as there could be many of them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried that but in the UI I couldn't see a difference and in code it's not needed, since the joint completion is handled via the Future. Therefore I cannot see a real advantage here.
What also should be considered that at maximum all declared repos of a location are queried in parallel.
So I assume the number of parallel jobs not to be too great.
b92ac06
to
cb1a9df
Compare
And remove the 'flush' parameter from RepositoryCache.fetchP2UnitsFromRepo(), because this method is only called with 'flush=true' if the repository is not 'up-to-date' and therefore no data are available any ways. Furthermore make RepositoryCache thread-safe.
And use the parsed location URI of a repository as cache-key.
cb1a9df
to
09c6419
Compare