My Oracle Support Banner

Work Scheduled For A Workmanager Does Not Execute Intermittently (Doc ID 2003884.1)

Last updated on AUGUST 21, 2023

Applies to:

Oracle WebLogic Server - Version 12.1.3.0.0 and later
Information in this document applies to any platform.

Symptoms

With Weblogic 12.1.3, intermittently, a Work you  schedule does not get executed even though it should get executed according to the min-threads-constraint/max-threads-constraint associated with the WorkManager and the current state.  In this test the WorkManager we use is “wm/NAME”. It has constraints of min=1 and max=1 (for test purposes). At the time we schedule the Work no other Work is being executed or scheduled for this WorkManager and yet the Work does not get executed. If you schedule additional Works after that the additional Works do get executed but the one that was not executed still does not get executed.

To reproduce:

Create a custom WorkManager with minthreadconstraint "1" and maxthreadconstraint "1". Deploy a simple application with a  Test EJB. The Test EJB runs a loop where in each iteration it enqueues a TestJob via the custom workmanager and waits for it to complete using plain java wait/notifyAll.

All the TestJob does is to sleep for a random time up to 100 milliseconds. The Test throws a TestTimeoutException if a TestJob does not complete within a specified timeout. Below is the exception seen in client logs as well as in WLS thread dumps when the test timeout.

 

Changes

 Upgraded to Weblogic 12.1.3

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.