IBM Support

Hung JVM server transactions in CICS - affect of TCLASS and THREADLIMIT

Question & Answer


Question

Why would JVM server transactions hang in a CICS Transaction Server for z/OS CICS TS) V5.1 region until the TCLASS for the Java transaction was increased? The THREADCOUNT value on the JVMSERVER resource is set to 2 and the TCLASS on the Java transaction is set to 3. After increasing the TCLASS for the Java transaction, the transactions were no longer hanging. Recycling the JVM server did not clear things up.

Answer

The TCLASS of the Java transactions prevents the waiters from ever being resumed. Increasing the TCLASS to allow another task to run cleared the backlog because it drove the CICS resume code and woke the other Java tasks up.

In this setup, the Java tasks have a TCLASS limit of 3 and the JVMSERVER THREADLIMIT is set to 2. This causes one of the Java tasks to always have to wait if 3 Java tasks run at the same time. It would be better to make the JVMSERVER THREADLIMIT the same or higher than the TCLASS value (given that some Java work appears to not be part of the TCLASS).

The THREADLIMIT of 2 also seems very low. The JVM storage is almost entirely 64-bit so if THREADLIMIT was set low because of concerns about storage usage this was unnecessary.

See Managing the thread limit of JVM servers in the CICS TS documentation for more information.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF035","label":"z\/OS"}],"Component":"Java","Version":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICS/TS CICSTS CICS TS CICS Transaction Server

Document Information

Modified date:
07 December 2016

UID

dwa1324370