-
Notifications
You must be signed in to change notification settings - Fork 123
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
Fix build block user action (#472) #1743
base: master
Are you sure you want to change the base?
Fix build block user action (#472) #1743
Conversation
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.
- Please explain the problem and solution strategy in the PR description & commit message.
- Using job or thread names is a "NO GO", sorry. We can't make assumptions about job names. Either you use known job families or something else, but matching / guessing names is not acceptable.
Would you please react to the comment here? |
I've been working on replacing string-based identifiers with job families |
Hey @akurtakov @iloveeclipse, I’ve introduced Issue: What Changed: How It Solves the Issue: |
This pull request changes some projects for the first time in this development cycle.
An additional commit containing all the necessary changes was pushed to the top of this PR's branch. To obtain these changes (for example if you want to push more changes) either fetch from your fork or apply the git patch. Git patch
Further information are available in Common Build Issues - Missing version increments. |
Test Results 1 518 files - 80 1 518 suites - 80 1h 39m 15s ⏱️ + 8m 45s For more details on these failures, see this check. Results for commit 74ed88c. ± Comparison against base commit 9e339b2. This pull request removes 153 tests.
♻️ This comment has been updated with latest results. |
Hey @iloveeclipse, thanks for the great feedback - pushed the suggested changes a while back. |
|
@@ -46,6 +46,12 @@ public boolean aboutToWait(Thread lockOwner) { | |||
return false; | |||
} | |||
|
|||
/** |
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.
It would be nice to document this new API method and explain in details when/why should one say it's UI . Even if it looks "obvious" - having things written explicitly helps in reducing difference in expectations.
I don't think this assertion is true. The strategy to decide whether to block an action or not is to rely on SchedulingRules. If a build job has a rule holding a file, then it's expected that the file being hold cannot be modified. |
Problem
The Eclipse IDE has a bug where certain user actions (such as saving edits or interacting with version management) are blocked during the build process in the Eclipse IDE, even though they are not dependent on the ongoing compilation. The blocking behavior should be limited to actions that explicitly rely on the build process, such as Run and Debug.
Solution
To refine the selectivity of the blocking behavior, implementations have been made to the identifyThreadAction method within ThreadJob.java. The updated logic ensures that only jobs explicitly related to User actions (such as edit, save, rename or interacting with VCS and so on) are not blocked during the build process.
Changes Implemented
Implemented identifyThreadAction() to distinguish between build-dependent jobs and UI-related threads.
Make sure that user actions aren’t blocked by the build.
For more details, refer to the related bug report:
Eclipse Bug Report #329657
GitHub Eclipse Discussion
Demonstration
A short demo video showcasing the changes in action is available here: demo