-
Notifications
You must be signed in to change notification settings - Fork 14
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
Run PixelDataThread Application Events in SYSTEM Thread Pool #155
Conversation
@jburel I updated |
build.gradle
Outdated
@@ -5,7 +5,7 @@ plugins { | |||
} | |||
|
|||
group = "org.openmicroscopy" | |||
version = "5.6.6-SNAPSHOT" |
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.
This is not needed.
This will be changed post release
Regarding the comment on ome/omero-documentation#2292 (comment) |
This pull request has been mentioned on Image.sc Forum. There might be relevant details there: https://forum.image.sc/t/scaling-up-pyramid-generation-in-omero-server/81041/2 |
Fixes #154. As outlined in the issue, the thread pool that is used for
USER
andBACKGROUND
priority tasks is the same and is set up with an unbounded queue. Because of this, the maximum number of threads that can be active at one time is whatever the core pool size is set to - in this caseminThreads
. Having any limit on the maximum number of threads is an issue if you have dependent tasks, which we do. In this PR, we change the application event tasks to be run atSYSTEM
priority, which means they are run in a different, unbounded thread pool. This way, these tasks will never be blocked by the dependent tasks, preventing deadlock. Javadocs were also added to explain what theThreadPool
constructor parameters actually do.