IBM Support

PI32731: THIS APAR WILL INTRODUCE A SQL INTERFACE TO ISSUE COMMANDS TO THE QAPPLY PROGRAM AS AN ALTERNATIVE TO THE Z/OS MODIFY COMMAND.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • This APAR will introduce a SQL interface to issue commands to
    the Qapply program as an alternative to the z/OS modify command.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: 1- Q Capture users                           *
    *                 2- Q Capture users                           *
    *                 3- Q Capture users                           *
    *                 4- Q Apply                                   *
    *                 5- Q Apply                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: 1- Additional diagnostic counters are   *
    *                      needed to analyze certain Q Capture     *
    *                      performance problems                    *
    *                      2- MIGRATE=Y is a DB2 LUW only          *
    *                      parameter and should not be used on     *
    *                      DB2 z/OS Q Capture                      *
    *                      3- A previous fix caused Q Capture to   *
    *                      wait up to 5 minutes when the           *
    *                      logreader is stuck in an IFI call       *
    *                      during a shutdown request.  However     *
    *                      this hard coded wait is problematic     *
    *                      for some users.                         *
    *                      4- New SQL interface for users to       *
    *                      issue Q Apply modify command through    *
    *                      IBMQREP_APPLYCMD table.                 *
    *                      5- When Q Apply Spill Agent is          *
    *                      reporting Exceptions from conflicts /   *
    *                      errors, it may cause a spurious         *
    *                      failure trying to do codepage           *
    *                      conversion to a non-existent CCSID 0.   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    1- New diagnostic counters are added to Q Capture
    2- Q Capture on z/OS incorrectly permitted a user to run with
    MIGRATE=Y
    3- A hidden parameter LOGRD_EXIT_TIMEOUT can be specified as a
    job parameter to control the wait time (in seconds) for a
    logreading thread to stop.
    4- A new Q Apply table IBMQREP_APPLYCMD is used to input
    commands, similar to the Q Capture signal table where User
    issues INSERT statements into SIGNAL table.  Instead of reading
    from DB2 log, Q Apply thread processes commands from
    IBMQREP_APPLYCMD table.
    5- Q Apply Spill Agent Exceptions reporting may end up trying
    to do code page conversion to non-existent CCSID 0. This should
    happen when both the following conditions exist : 1.  Q Apply
    browser has not yet encountered a single message in RECVQ since
    its last startup.  2. Spill Agent is applying messages from
    SPILLQ and gets an error or conflict requiring Exceptions
    reporting.
    

Problem conclusion

Temporary fix

Comments

  • 1- The following are populated when added to the IBMQREP_CAPMON
    table.  You will need these 4 new optional columns in CAPMON to
    see the above stats.
    ALTER TABLE !CSH.IBMQREP_CAPMON       ADD COLUMN
    NUM_LOGREAD_F_CALLS   INTEGER;
    ALTER TABLE !CSH.IBMQREP_CAPMON       ADD COLUMN
    TRANS_QUEUED          INTEGER;
    ALTER TABLE !CSH.IBMQREP_CAPMON       ADD COLUMN
    NUM_WARNTXS           INTEGER;
    ALTER TABLE !CSH.IBMQREP_CAPMON       ADD COLUMN
    NUM_WARNLOGAPI        INTEGER;
    2- An error now occurs if a customer specifies parameter
    MIGRATE=Y
    3- A user can customize the wait timeout for logreader to stop.
    4- All existing Apply modify commands can be issued with the
    new SQL interface.  New function:
    Q Apply Command table (New interface for commands)
    
    New SQL interface for users to issue Q Apply commands:
    alternative to the  modify commands in z.
    All existing Apply modify commands can be issued with
    new SQL interface.
    A new Q Apply table: IBMQREP_APPLYCMD is used to input
    commands, similar to the Q Capture signal table
    User issues INSERT statements into that table to issue
    Q Apply command but Q Apply thread is polling that table
    not reading from DB2 log.
    The new IBMQREP_APPLYCMD table includes a column to
    allow users to provide their input command: CMD_TEXT
    The Q Apply program output is in 2 columns (besides others)
    - CMD_STATE (R = received, C = committed and F = failed)
    - CMD_RESULT_MSG  (Q Apply output message)
    The new IBMQREP_APPLYCMDOUT allows users to query the
    output of verbose commands like STATUS and QRYPARMS.
    New columns are added to IBMQREP_APPLYPARMS to enable
    behavior and control the polling interval against the new
    table:
      - USE_APPLYCMD_TABLE CHAR(1) NOT NULL WITH DEFAULT 'Y'
      - APPLYCMD_INTERVAL     INT NOT NULL WITH DEFAULT 3000
    
    Some examples:
    
    INSERT INTO !ASH.IBMQREP_APPLYCMD (CMD_TEXT)  VALUES
        ('LOADDONESUB=QREP.DEMO??.DATAQ:T20001');
    INSERT INTO !ASH.IBMQREP_APPLYCMD (CMD_TEXT)  VALUES
        ('RESUMESUB=QREP.DEMO??.DATAQ:T20001');
    INSERT INTO !ASH.IBMQREP_APPLYCMD (CMD_TEXT)  VALUES
         ('STOPQ=QREP.DEMO??.DATAQ');
     INSERT INTO !ASH.IBMQREP_APPLYCMD (CMD_TEXT)  VALUES
          ('STARTQ=QREP.DEMO??.DATAQ');
    
    INSERT INTO !ASH.IBMQREP_APPLYCMD (CMD_TEXT)  VALUES
       ('STOPSUB=QREP.DEMO??.DATAQ:T20001');
    
    Check CMD_RESULT_MSG and CMD_RESULT_RC of
     !ASH.IBMQREP_APPLYCMD table for status of these commands
    STOPSUB: New option in Q Apply to deactivate a sub from the
    target side.
    5- Spill Agent Exceptions reporting will use the right CCSID
    for codepage conversion even when the Q Apply browser has not
    yet read any messages from RECVQ.
    

APAR Information

  • APAR number

    PI32731

  • Reported component name

    WS REPLICATION

  • Reported component ID

    5655L8800

  • Reported release

    A21

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-01-14

  • Closed date

    2015-02-16

  • Last modified date

    2023-08-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI25194 UI25195 UI25196 UI25197

Modules/Macros

  •    ASNAAPP  ASNACMD  ASNACMP  ASNADMSP ASNAFET
    ASNAISO  ASNAMAN  ASNAPPLY ASNAPRS  ASNAWPN  ASNCAP   ASNCCMD
    ASNCCPWK ASNCLP   ASNCLPAP ASNCLPCL ASNCLPCM ASNCLPCO ASNCLPCT
    ASNCLPMS ASNCLPQA ASNMCMD  ASNMON   ASNQACMD ASNQAHKT ASNQAPAG
    ASNQAPP  ASNQAROW ASNQASUB ASNQBRWZ ASNQCAP  ASNQCCMD ASNQDEP
    ASNQEXRP ASNQMFMT ASNQSPIL ASNQXFMT ASNQ1021 ASNRBASE ASNTDIFF
    ASNTDSP  ASNTRC   ASN2BASE
    

Fix information

  • Fixed component name

    WS REPLICATION

  • Fixed component ID

    5655L8800

Applicable component levels

  • RA21 PSY UI25194

       UP15/02/24 P F502

  • RA24 PSY UI25195

       UP15/02/24 P F502

  • RA25 PSY UI25196

       UP15/02/24 P F502

  • RA26 PSY UI25197

       UP15/02/24 P F502

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU029","label":"Software"},"Product":{"code":"SSDP5R","label":"InfoSphere Replication Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A21"}]

Document Information

Modified date:
14 August 2023