IBM Support

SI50502 - OSP-OTHER Inactivity interval (QINACTITV) enforcement

PTF Cover Letter


PTF ( Program Temporary Fixes ) Cover letter


Order this fix

Abstract

OSP-OTHER Inactivity interval (QINACTITV) enforcement


Pre/Co-Requisite PTF / Fix List

REQ  LICENSED      PTF/FIX  LEVEL

TYPE PROGRAM  REL  NUMBER   MIN/MAX  OPTION
---- -------- ---  -------  -------  ------
PRE  5770SS1  710  SI42759   00/00    0000
DIST 5770SS1  710  SI46820   00/00    0000
DIST 5770SS1  710  SI46397   00/00    0000



NOTICE:
-------
Application of this PTF may disable or render ineffective programs that
use system memory addresses not generated by the IBM translator,
including programs that circumvent control technology designed to limit
interactive capacity to purchased levels.  This PTF may be a prerequisite
for future PTFs.  By applying this PTF you authorize and agree to the
foregoing.

This PTF is subject to the terms of the license agreement which
accompanied, or was contained in, the Program for which you are obtaining
the PTF.  You are not authorized to install or use the PTF except as part
of a Program for which you have a valid Proof of Entitlement.

SUBJECT TO ANY WARRANTIES WHICH CAN NOT BE EXCLUDED OR EXCEPT AS EXPLICITLY
AGREED TO IN THE APPLICABLE LICENSE AGREEMENT OR AN APPLICABLE SUPPORT
AGREEMENT, IBM MAKES NO WARRANTIES OR CONDITIONS EITHER EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON INFRINGEMENT,
REGARDING THE PTF.

The applicable license agreement may have been provided to you in printed
form and/or may be viewed using the Work with Software Agreements (WRKSFWAGR)
CL command.





APAR Error Description / Circumvention

-----------------------------------------------
A job that consumes CPU time is considered active and not
disconnected or ended when the Inactivity interval (QINACTITV)
is exceeded.

A job is charged with CPU time when it runs an event handler or
when it runs a signal processing procedure or when it processes
an internal interrupt. For example, if you use the WRKJOB
command to look at the call stack of another job, that job is
charged with the CPU time needed to obtain the call stack
information.

A job may also use CPU time in a secondary thread without doing
any real work.  Some JAVA code actively polls for work and is
charged with CPU time.

CORRECTION FOR APAR SE56146 :
-----------------------------
Enforcement for the Inactivity interval (QINACTITV) system value
will no longer use a job's CPU time to determine whether the job
is inactive. More jobs will be ended or disconnected because of
inactivity.

An additional change has been made to the Disconnect Job
(DSCJOB) code so that more interactive jobs are eligible to be
disconnected rather than ended for inactivity. This affects
sessions that do not request a specific device and are assigned
a QPADEVxxxx device descriptions by the system. Other conditions
may prevent a job from being disconnected.

The change to allow QPADEVxxxx devices to be disconnected
affects the DSCJOB command interface as well as the handling of
the inactivity interval. The DSCJOB processing that occurs for
device error recovery is not changed, so jobs for QPADEVxxxx
devices are still ended rather than disconnected when the job's
device recovery action (DEVRCYACN) is set to *DSCMSG or
*DSCENDRQS.

This PTF changes the behavior of the system.

When the QINACTMSGQ system value is set to *DSCJOB, subsystems
may have more jobs to end during ENDSBS processing. This depends
on the Time interval before disconnected jobs end (QDSCJOBITV)
system value.


By default, the system will allow any amount of CPU time to be
used and an interactive job will still be considered inactive if
the interactive job is waiting for input from the display and
there have been no updates sent to the display. The code now
supports a new environment variable QIBM_WT_QINACTITV_CPU which
allows you to specify, in microseconds, the amount of CPU that
can be used and still have the job considered inactive. The
environment variable is checked when the subsystem starts and
the information is cached in the subsystem job. The environment
variable must be defined as LEVEL(*SYS) in order for the
subsystem job to see it. Supported values are '0' to '999999'.
No error is generated if an invalid value is used.

The following example shows how to set the environment variable
so that any CPU time used causes the job to be considered
active.

ADDENVVAR ENVVAR(QIBM_WT_QINACTITV_CPU)
VALUE('0')
CCSID(*HEX)
LEVEL(*SYS)

The value specified by the environment variable is used each
time the subsystem checks for inactivity. For example, if the
environment variable is specified with VALUE('50') and the
QINACTITV system value is set to 30 minutes, the subsystem
checks for inactivity every 10 minutes and a job can use up to
50 microseconds of CPU time in each 10-minute interval and still
be considered inactive.


By default, the system will now allow interactive jobs for
QPADEVxxxx devices to be disconnected by the Disconnect Job
(DSCJOB) command or disconnected because of inactivity. The code
now supports a new environment variable QIBM_WT_DSCJOB_ANYDEV
that can be used to turn this on or off. The environment
variable is checked when the subsystem starts and the
information is cached in the subsystem job. More than one
subsystem may be involved when an interactive job is
disconnected by the DSCJOB command. The environment variable
must be defined as LEVEL(*SYS) in order for the subsystem job to
see it. Supported values are '0' and '1'. A value of '0' tells
the system to only allow a job to be disconnected if a device
name was specified when the session was started. A value of '1'
tells the system to allow a job to be disconnected whether or
not a device name was specified when the session was started. No
error is generated if an invalid value is used.

The following example shows how to set the environment variable
so that jobs cannot be disconnected unless a device name was
specified when their session was started.

ADDENVVAR ENVVAR(QIBM_WT_DSCJOB_ANYDEV)
VALUE('0')
CCSID(*HEX)
LEVEL(*SYS)


Refer to the IBM i Information Center for additional information
about the QINACTITV, QINACTMSGQ, and QDSCJOBITV system values.

CIRCUMVENTION FOR APAR SE56146 :
--------------------------------
None.


Activation Instructions


None.




Special Instructions


None.


Default Instructions

THIS IS A DELAYED PTF TO BE APPLIED AT IPL TIME.



Supersedes

PTF/FIX NO(S).  APAR TITLE LINE
--------------  ------------------------------------------------------------
   SI50130      OSP-MSGMCH5601-T/QWTAMCJS FUNCTION CHECK WHILE CREATING JOB
   SI50128      OSP-LWS FUNCTION CHECK - MSG CPF9999 FOLLOWING MSG CPF5713 W
   SI49759      F/PMPROCESSNONRESIDENT-MSGMCH5601 MSGMCHH5601 TEMPLATE NOT V
   SI49633      OSP-OTHER-WAIT INTERACTIVE SUBSYSTEM EXPERIENCES DELAYS WHIL
   SI46582      OSP-OTHER-T/QWVAGSRV-MSGMCH6901 APPLICATION FAILS WITH MSGMC
   SI37311      OSP-OTHER-INCORROUT QWTMC2UTL ambiguous in subsystem trace
   SI49369      OSP - Work Management Internal Maintenance
   SI48015      OSP-OTHER-MSGCPF1101 QINTER FUNCTION CHECK, SESSIONS ENDED
   SI45277      OSP-OTHER-MSGCPF1213 SBS LOSING DEVICE DURING TFRJOB CMD
   SI40955      OSP-OTHER-UNPRED SIGNOFF ENDCNN(*YES) MAY NOT DISCONNECT
   SI40439      OSP-MSGCPF4128 ENDING 5250 EMULATION SESSION WITHOUT SIGNING
   SI38831      OSP COPYRIGHT ON SIGN ON SCREEN NOT CORRECT
   SI36667      OSP-MSGMCH3402-F/CMPPTRA-T/QWTMCDSP CANNOT SIGN ON
   SI46821      OSP-DB-OTHER-THREADS-F/QWTCHGJB-MSGCPF180B SQL CREATES MULTI
   SI46441      OSP-MSGB9003660-PAR-940XBASE JOBQ-REACHING-ITS-MAX-STORAGE
   SI46398      OSP-INCORROUT Problems with QINACTITV enforcement
   SI39589      OSP-OTHER-T/QWTMMPJR-MSGMCH1210 PRESTART JOB ERRORS
   SI45884      OSP - Work management internal component update
   SI43275      OSP-OTHER CHGACGCDE FAILS WITH MSGCPF180B
   SI43133      OSP-DB-OTHER-THREADS-UNPRED TEMPORARY STORAGE INCREASE DUE T
   SI42845      OSP-OTHER-UNPRED Job at limit should be held not ended.
   SI41333      OSP-OTHER-T/QWTMCRTG-MSGMCH3601 LOGGED IN QCMN JOBLOG DURING
   SI40568      OSP-OTHER-PERFM Error case runs too fast creating new jobs
   SI39786      OSP-INCORROUT Base Function to Enable Future Extensions
   SI44197      OSP-PAR-940XBASE SUBSYSTEM CANNOT END DUE TO LOCK CONFLICT
   SI36560      OSP SBMJOB storage for CPYENVVAR(*YES) not cleaned up

Summary Information

System..............................i
Models..............................
Release.............................V7R1M0
Licensed Program...............5770SS1
APAR Fixed..........................View details for APAR SE56146
Superseded by:......................View fix details for PTF SI66949
Recompile...........................N
Library.............................QSYS
MRI Feature ........................NONE
Cum Level...........................C3298710


System i Support

IBM disclaims all warranties, whether express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. By furnishing this document, IBM grants no licenses to any related patents or copyrights. Copyright © 1996,1997,1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 IBM Corporation. Any trademarks and product or brand names referenced in this document are the property of their respective owners. Consult the Terms of use link for trademark information.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0"},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG15V","label":"PTF Cover Letters - OS\/400 General"},"Component":"","ARM Category":[],"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"V7R1M0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
19 July 2013