Cancel DDF Threads

You can cancel threads on several ways:

  • manually: -CANCEL DDF THREAD(token)
  • manually: stop DDF
  • manually: flush VTAM session via NetView NCCF
  • automatically: per RLF (resource limit facility, define CPU consumption limits)
  • automatically: per DB2 installation parameter, as described below.

 ==>DB2 Admin Guide V5 page 5-122 (unchanged since V4, no revision bar):
"Timing Out Idle Active Threads:
Active server threads that have remained idle  for a specified period of time (in seconds) can be canceled by DB2.  When you install DB2, you choose a maximum IDLE THREAD TIMEOUT period, from 0 to 9999 seconds. The timeout period is an approximation. If a  server thread has been waiting for a request from the requesting site for this period of time, it is    canceled unless it is an inactive or indoubt thread. A value of 0, the default, means that the server threads cannot be canceled because of an idle thread timeout.
We recommend that this option be used with the option INACTIVE for the DDF threads field on DSNTIPR"

==>DB2 Installation Guide V4 page 2-203  (unchanged since V4, no revision bar):
"9. Idle Thread Timeout
Acceptable values:     0-9999
Default:                     0
Update:                    option 25 on panel DSNTIPB
DSNZPxxx macro:    DSN6FAC IDTHTOIN
Specify the approximate time, in seconds, that an active server threads is allowed to remain idle befor it is canceled. The thread is canceled after the timeout value  expires, releasing its locks and cursors. Inactive and indoubt threads are not subject to timeout. Because threads are checked every 3 minutes to see if they have exceeded the timeout value, timeout values of less  than 3 minutes may not be honore for up to 3 minutes.
Specifying 0 disables timeout processing. If you accept the default value, 0, DB2 continues to operate as it did prior to DB2 Version 4.
(Idle server threads remain in the system and continue to hold their ressources, if any.)"

"7. DDF Threads
Acceptable values:     ACTIVE, INACTIVE
Default:                     ACTIVE
Update:                    option 23 on panel DSNTIPB
DSNZPxxx macro:    DSN6FAC CMTSTAT
Specify whether to make a thread active or inactive after  it successfully commits or rolls back and holds no database locks or cursors. See Section 5 (Volume 2) of Administration Guide for more information about active and inactive threads."

Switching active threads to INACTIVE allows DB2 to hold up to 25000 inactive and active threads, instead of only 2000. This will allow service for a lot more users, currently  waiting in the queue for a free slot.

If I am not wrong, indoubt-threads are not possible between DB2/2 V1.2 or V2.1 and DB2/MVS conversation, because DDCS/2 does not support two-phase-commit, which means,   that a Dashboard thread status cannot be 'in doubt'. But you can check this with the DB2 command "-DIS THREAD TYPE(INDOUBT)".

A list of threads with detailled information is avaibable with "-DIS THREAD(*) DETAIL. The STATUS output field informs about the thread status (Send, Receive, Allocation,  Deallocation, CNOS processing, eXchange). Do you have distributed (see plan = DISTSERV) inactive threads? Or do you have possibly distributed indoubt threads?

Haben Sie noch weitere Anregungen zu diesem Beitrag?

 

© Gernot Ruban