EE Concurrency Hung Tasks Termination
Overview
The managed executors in the EE subsystem are capable of identifying tasks which are running for a long unexpected time, also know as hung tasks, and this proposal specifies new functionality that will allows users to manually and automatically terminate such tasks.
Issue Metadata
Issue
Related Issues
Dev Contacts
QE Contacts
Testing By
[x] Engineering
[ ] QE
Affected Projects or Components
-
WildFly
Other Interested Projects
-
NONE
Requirements
Hard Requirements
-
Add the following attribute to the /subsystem=ee/managed-executor-service resource:
-
hung-task-termination-period: the period, in milliseconds, for hung tasks automatic termination. A value of 0, which is the default, deactivates the feature.
-
CLI to read the attribute from the Managed Executor Service resource named default:
/subsystem=ee/managed-executor-service=default:read-attribute(name=hung-task-termination-period)
-
Add the following operation to the /subsystem=ee/managed-executor-service resource:
-
terminate-hung-tasks: manually terminates all executor tasks that are hung.
-
CLI to execute the operation from the Managed Executor Service resource named default:
/subsystem=ee/managed-executor-service=default:terminate-hung-tasks()
-
Add the following attribute to the /subsystem=ee/managed-scheduled-executor-service resource:
-
hung-task-termination-period: the period, in milliseconds, for hung tasks automatic termination. A value of 0, which is the default, deactivates the feature.
-
CLI to read the attribute from the Managed Scheduled Executor Service resource named default:
/subsystem=ee/managed-scheduled-executor-service=default:read-attribute(name=hung-task-termination-period)
-
Add the following operation to the /subsystem=ee/managed-scheduled-executor-service resource:
-
terminate-hung-tasks(): manually terminates all executor tasks that are hung.
-
CLI to execute the operation from the Managed Scheduled Executor Service resource named default:
/subsystem=ee/managed-scheduled-executor-service=default:terminate-hung-tasks()
Nice-to-Have Requirements
-
NONE
Non-Requirements
-
Domain mode:
-
the new attribute discussed in this proposal will be provided on the servers in a managed domain, and registered with the /profile=*/subsystem=ee resources, being automatically discarded for servers which do not support it.
-
the new operation discussed in this proposal will be provided on the servers in a managed domain, and registered only with the /host=/server=/subsystem=ee resources.
-
Test Plan
-
Changes in Wildfly management model will be covered in WFLY testsuite.
-
Checking the new featured functionality work as expected will be covered in WFLY testsuite.
Community Documentation
-
Covered by local descriptions in management model.