Skip to content
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

Waiting for the JDT index #3065

Open
LorenzoBettini opened this issue May 23, 2024 · 0 comments
Open

Waiting for the JDT index #3065

LorenzoBettini opened this issue May 23, 2024 · 0 comments

Comments

@LorenzoBettini
Copy link
Contributor

Investigating on #3057, as suggested here https://download.eclipse.org/releases/2024-06/, I tried to wait for JDT index in some places where tests were flaky. I introduced a wait method here, with some logging, LorenzoBettini@63f6513#diff-980df7992443dd6c25d5264da62b20f4f63f831fa76f17246f702cc386da8d1aR421 and I added the wait for index mainly in Xtend IDE tests:

flakes haven't disappeared in Windows and macOS but they reduced a lot and when there's a flake, on the second run, it succeeds.

I also added it here LorenzoBettini@63f6513#diff-22769996fc085327d4c4e67c51fe171bbc3db46c53330acb2b7b90214a545c1aR72 which was also flaky and in this case for the moment the flake disappeared. In this latter case, I don't think we use the JDT index, though. Maybe that's still helpful in warming up Eclipse?

This is the corresponding macOS job https://github.com/LorenzoBettini/xtext/actions/runs/9207206320/job/25329823688 with minimal flakes.

In general, when we use the JDT index in the code base shouldn't we wait for it to complete before using it?

I mean here

if (indexManager.awaitingJobsCount() > 0) { // still indexing - don't enter a busy wait loop but ask the source folders directly

I also wonder whether in tests we should always wait for it before issuing a build and after; i.e., within waitForBuild.

cc @cdietrich @szarnekow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant