IBM Support

GG04754: REPLICATION ENGINE FIXES FOR DB2 V8FP16

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Replication Apply and Capture fixes for DB2 V8FP16.
    

Local fix

Problem summary

  • This APAR addresses the following problems:
    .
    376019: Too many ASN0195I messages can flood the log.
    User Affected: SQL and Q Capture
    Problem Summary: This messmage is redundant because the
    same info is written in the igntran table.
    Problem Conclusion: This message is removed.
    .
    376405: Transactions might be lost on a REINITQ command.
    Problem Description: When reducing total number of Apply
    Agents with the REINITQ command, if the agent gets a
    transaction from the WORKQ, it will lose the transaction.
    .
    376361: Fails to issue LOAD Warning message when DB2
    catalog is unicode
    User Affected: SQL and Q Capture
    Problem Summary: Regardless of catalog encoding scheme,
    catalog log data is always EBCDIC
    Problem Conclusion: Remove CCSID tagging for catalog log
    records
    .
    376601:  Q Capture did not send the default value in
    single quotes for ADDCOL with a default of CURRENT SQLID
    User Affected: Q Capture
    Problem Conclusion: The default value is now surrounded by
    single quotes
    .
    376582: Performance improvements in Apply for handling RI
    dependencies.
    User Affected: all
    Problem Description: RI checking caused slow performance.
    Problem Conclusion: Improved RI checking to boost
    performance.
    .
    376476: Add support for ARM parameter
    User Affected: SQL and Q Capture, SQL and Q Apply,
    Alert Monitor
    Problem Description: Current product restricts only one
    instance per data sharing member
    Problem Summary: The ARM element name cannot support more
    than one instance
    Problem Conclusion: new ARM parameter can be used to
    specify the suffix to create more unique na
    .
    376707: Q Capture did not send 'CURRENT SQLID' for ADDCOL
    with a default of CURRENT SQLID
    User Affected: Q Capture
    Problem Conclusion: The default value is sent as
    'CURRENT SQLID'
    .
    376719: SQL member predicate support added
    User Affected: SQL Repl customers who had member predicate
    Problem Description: the target select did not honor the
    member predicate
    Problem Summary: SQL member predicate support added to
    asntdiff for target select
    Problem Conclusion: asntdiff supports member predicate for
    target select also
    .
    376755: Apply does not check deadlock return code when
    applying Monster transaction.
    Users Affected: ALL
    Problem Conclusion: Apply now checks the return code when
    applying Monster transactions.
    .
    376429: support "copyto" in push mode in ASNLOAD
    User Affected: SQL replication
    Problem Conclusion: support "copyto" in push mode in
    ASNLOAD
    .
    376867: Capture failed to capture data for before image
    columns if CD column name was truncated because of 18 char
    length limit.
    User Affected: SQL Capture Users
    Problem Summary: Before image column was not captured.
    Problem Conclusion: Capture has been modified to tolerate
    the truncation
    .
    375056: skip join of UOW and CD for CCD target
    User Affected:  SQL Apply
    Problem Conclusion: add support of type 9
    .
    376920: Add new column in IGNTRAN table to control ignore
    trans tracing
    User Affected: Q Capture customers who use the ignore
    transaction feature
    Problem Description: Q Capture inserts a row into its
    IBMQREP_IGNTRANTRC table each time it ignores a
    transaction.  Q Capture ignores transactions that satisfy
    exclusion criteria which is specified in its
    IBMQREP_IGNTRAN table.  Q Capture inserts thousands of
    rows into its IBMQREP_IGNTRANTRC table if its exclusion
    criteria causes it to ignore thousands of transactions.
    Problem Summary: Q Capture should insert rows into its
    IBMQREP_IGNTRANTRC table on a transaction exclusion
    criteria basis.
    Problem Conclusion: Provide an option to specify whether
    or not Q Capture will insert a row into its
    IBMQREP_IGNTRANTRC table each time it ignores a
    transaction.  The option will be specified using a new
    IBMQREP_IGNTRAN table column.
    .
    376973: Number of rows should be limited in control table
    pruning
    User Affected: All Q Capture customers
    Problem Description: The Q Capture prune function does not
    see STOP commands that are issued while it is pruning.
    Q Capture hangs or abends with SA03 or 0C4 after it
    receives a STOP command.
    Problem Summary: The Q Capture prune function continues to
    execute after all other Q Capture program functions have
    stopped.
    Problem Conclusion: Modify the Q Capture prune function to
    check for a stop command each time it prunes  10000 rows
    from a Q Capture control table.
    .
    376708: "asntrc -d 4" does not dump Apply performance
    trace correctly
    User Affected:  SQL Apply
    Problem Conclusion: correct Apply logic so that it dumps
    correct timestamps
    .
    376429: The SQL Capture pruning logic for misc tables is
    changed to cursor based delete
    User Affected:  SQL Capture
    Problem Description: STOP command causes 0C4 if issued
    while igntrantrc table is being pruned
    Problem Summary: The current pruning logic for igntrantrc
    table is uninterruptable
    Problem Conclusion: The pruning logic is changed to cursor
    based delete.
    .
    376427: Apply gets -313 from zos target when set is
    update anywhere or commit_count > 0
    User Affected: luw sql Apply
    Problem Summary: Apply does not reprepare cursor after
    "sql commit"
    Problem Conclusion: Apply is changed to reprepare
    Insert/Update/Delete cursors after "sql commit"
    .
    376934: IBMSNAP columns are part of cd table and asntdiff
    was using it against the source table
    User Affected: users who had IBMSNAP cols as part of
    sql member predicate
    Problem Summary: fix asntdiff and filter IBMSNAP audit
    cols
    Problem Conclusion: asntdiff fixed to filter audit columns
    for sql differencing
    .
    377205: MQ report option was enabled thus causing LOB
    messages to be returned to the admin queue
    User Affected: Q Replication users replicating LOBs
    Problem Conclusion: MQ report option is now disabled for
    LOB messages
    .
    377214: Remove QINERROR signal for compact send queue.
    User Affected: Q Replication users replicating LOBs
    Problem Description: MQ report option was enabled thus
    causing MQ exception report msgs to be returned to the
    admin queue, Capture then inserted QINERROR signals
    Problem Summary: Capture could not come up because
    QINERROR signals kept stopping capture due to queue error
    action
    Problem Conclusion: Capture is ignoring MQ exception
    report messages and QINERROR signals for compact send
    queues
    .
    377255: Q Capture should allow warmstart with the LSN and
    MAXCMTSEQ parameters even if the restart message is
    missing
    User Affected: Q Replication users
    Problem Description: Q Capture came down when
    LSN/MAXCMTSEQ were specified because restart queue is
    empty
    Problem Summary: Q Capture should allow users to specify
    LSN= and MAXCMTSEQ= during QCapture startup when there are
    active subs and the RESTARTQ is empty
    Problem Conclusion: Q Capture allows empty restart queue
    with LSN/MAXCMTSEQ specified
    .
    377292: Fix predicate support for UNICODE tables
    User Affected:  Q Capture
    Problem Description: Predicate evaluation fails when the
    source table is UNICODE
    Problem Summary: The predicate is evaluated comparing
    UNICODE vs EBCDIC
    Problem Conclusion: SQLDA is tagged with CCSID to compare
    the same code page
    .
    377213: Support commit count during import for nicknames
    User Affected: Q Apply customers when import utility is
    used for nicknames
    Problem Summary:  When Q Apply invokes the db2 import
    utility for nicknames, it will use the value provided in
    "NICKNAME_COMMIT_COUNT" parameter to determine commit
    count for records.
    .
    377026: Replication programs loop if remote control server
    if stopped
    User Affected: LUW Replication customers.
    Problem Description: Replication programs loop if the DB2
    instance where their control tables are defined is
    stopped.
    Problem Summary: Replication programs attach to the DB2
    instance where their control tables are defined.  They
    use this instance attachment to monitor if the DB2
    instance have been stopped or the control table database
    has been quiesced.  Replication programs do not recognize
    when they lose their DB2 instance attachment.  They
    repeatedly attempt to run the monitor function and display
    ASN0552E SQLCODE -1427 or SQLCODE -1428 messages.
    Problem Conclusion: Replication programs will attempt to
    attach to the DB2 instance where their control tables are
    defined one time if their DB2 instance attachment is lost.
    If the DB2 instance attach fails, replication programs
    will behave as if their DB2 instance has been stopped.
    .
    377298: An SQL error occurs inside the Stored Procedure
    because the INSERT statement fails because there are no
    spaces between the values and the ','
    User Affected: The user tries to list Queues or to
    validate the WSMQ environment when DB2 z/OS is configured
    to use a different delimiter character.
    Problem Summary: List and validate actions for queues fail
    Problem Conclusion: The INSERT statement is constructed so
    that there is always a space before and after the , .
    .
    377222: Apply does not report error information from
    IBMSNAP_PRUNE_SET
    User Affected: SQL Apply
    Problem Summary: Apply does not save and report error
    information from IBMSNAP_PRUNE_SET
    Conclusion: report error from IBMSNAP_PRUNE_SET in
    ASN.IBMSNAP_APPLYTRAIL
    .
    377461: Issue ASN0200E message when compression dictionary
    is temporarily unavailable.
    User Affected: Capture users
    Problem Summary: Currently ASN0011E is issued for both
    temporary and permanent dictionary unavailable conditions.
    Problem Conclusion: A new message ASN0200E is issued for
    temporary error to distinguish from permanent error.
    .
    377666: After the FREE PLAN command was issued for the
    Q Capture plan, then Q Capture was started. It received
    reason code F30040 from DB2 and then during termination it
    abended with 0C4.
    User Affected: Q Capture user
    Problem Summary: Q Capture abended if the plan was not
    available when it should have only terminated with an
    error.
    Problem Conclusion: Q Capture was fixed so that the abend
    did not occur when the plan was not available.
    .
    377716: Remove restriction that all columns must be
    subscribed in p2p.
    User Affected: Q Capture
    Problem Description: P2P restriction caused Capture error
    when a column was added to the table
    Problem Conclusion: The restriction has been removed
    .
    377660: Q Capture issued SQL error msg when preparing
    predicates
    User Affected: Q Capture
    Problem Conclusion: Q Capture does not issue SQL error msg
    on first attempt at predicate preparation
    .
    377759: Q Apply logs exceptions twice for
    conflic_action/error_action S or Q
    User Affected: Q Apply
    Problem Summary: Q Apply should not put two entries for
    the same exception
    Problem Conclusion: Q Apply will correctly log only once
    into the exceptions table for conflict_action/error_Action
    S or Q
    .
    377829: asnmon: Add new msg to log file to display
    interval used for montioring and include microseocnds in
    alert messages
    User Affected: Q Replication customers replicating LOB
    data.
    Problem Description: Q Apply comes down with an error
    message if it does not find all LOB messages on the
    receive queue for a monster transaction.
    Problem Summary: Q Apply expects to find all the LOB msgs
    for a monster transaction on the receive queue. Q Apply
    will retry indefinitely until it get all LOB messages.
    Q Apply will issue a message if it had to retry.
    Problem Conclusion: Q Apply retries indefinitely to get
    the LOB message it was expecting for a monster
    transaction.
    .
    378514: partial timestamp format HH.MM and HH were not
    supported
    User Affected: those who start asnqapp with the applyupto
    parameter
    Problem Summary: fixed the code to support HH.MM and HH
    partial timestamps
    Problem Conclusion: the reported problem has been fixed.
    .
    378549: 'asnacmd chgparms autostop' when applyupto is
    enabled is incorrectly allowed.
    User Affected: those who issue 'asnacmd chgparms autostop'
    when applyupto is enabled.
    Problem Summary: code has been change to prevent the
    combination of applyupto and autostop.
    Problem Conclusion: the reported problem has been fixed.
    .
    378453: Q Capture deactivated subscriptions on a remote
    send queue where the XMITQ is not specified
    User Affected: Q Capture
    Problem Summary: Q Capture should ignore such error in an
    MQ cluster environment
    Problem Conclusion: Q Capture now ignores 2196 and 2085
    on a XMITQ
    .
    378511: asntdiff: RANGE CLAUSE added checks for malloc &
    AS400 diff table DIFF col is created with no space
    User Affected: sql and Q Repl customers who use AS400
    sources and all custoemrs who use RANGE clause
    Problem Description: DIFF col was created with a space and
    the AS400 ignored it; If asntdiff was invoked with -f
    option then diffstats was not allocated space
    Problem Summary: Fixed diff col to be created with no
    space for 400, and malloc checks included
    Problem Conclusion: fixed as400 sources diff table, and
    added check for malloc
    .
    378501:asnmon: Fix for multiple alerts to console &
    tolerate MONTRAIL v9 col for v8 asnmon
    User Affected: users using console alerts, and users
    running v8 monitor on v9 control tables with montrail
    table fix
    Problem Description: multiple alerts to console and
    sqlcode -117 for montrail table
    Problem Summary: reset alert counter info * tolerated
    additional columns for montrial table when v8 monitor is
    used in v9 control tables
    Problem Conclusion: fix to avoid multiple alersts to
    console and sqlcode -117
    .
    378813: Capture was not tracing the ignored transaction
    specified by trans ID
    User Affected: Capture
    Problem Conclusion: Capture now traces such transaction
    .
    378222: Apply fails with -452 when LOB is described for
    type 9 source
    User Affected: SQL Apply
    Problem Summary: sqlda is not set correctly for lob column
    Problem Conclusion: correct fetching sqlda for lob column
    .
    378267: Apply does not issue "sql commit" before execute
    'A' statement
    User Affected: SQL Apply
    Problem Conclusion: issues "sql commit" before execute
    'A' statement
    .
    378223: Apply does not report error to applytrail table
    User Affected: SQL Apply
    Problem Conclusion: report error to applytrail table
    .
    378152: Apply trace file grows to 2G
    User Affected: SQL Apply
    Problem Description: Apply trace file right shift 1 byte
    for each cycle incorrectly
    Problem Summary: Apply does not exit certain functions
    properly
    Problem Conclusion: trace line won't shift after exit
    from function
    .
    379028: full refresh is not triggered when CCD is source
    User Affected: SQL Apply
    Problem Summary: Apply does not start full refresh when
    set.sp < ccd_old
    Problem Conclusion: full refresh will be triggered when
    ccd_old_synchpoint > set.sp
    .
    Defect: 379028: Apply abends with 0c4 when previous
    malloc() failed
    User Affected: SQL Apply
    Problem Summary: Apply tries to refer to a NULL pointer
    Problem Conclusion: correct Apply so that it won't use
    the NULL pointer
    .
    378922: Q Apply fails with -945 during apply from spill
    queue
    User Affected: V8 Apply
    Problem Description: Q Apply fails with -945 during apply
    from spill queue after a load if there are non-key unique
    constraints.
    Problem Summary: Q Apply fails with AsnRcUnqCnst (-945) as
    it does not handle -803 conflicts during apply from spill
    queue after a load when DB2 returns a non-key unique
    constraint instead of a key constraint in the sqlda.
    Problem Conclusion: Fixed Apply to handle -803 correctly
    during processing of spill queue after load if DB2 returns
    a non-key unique constraint, by trying to force the
    operation once.
    .
    379088: Capture terminated with sql-180 when updating
    register table.
    User Affected: Capture users on Windows
    Problem Summary: New version of of msvcr71.dll require
    length passed in to include null byte.
    Problem Conclusion: Length in the call has been changed to
    include null byte.
    .
    379156: asntdiff RANGECLAUSE: FROM specification fixed to
    select range value >= instead of using between clause
    User Affected: users using range clause only FROM option
    Problem Description: It used to use between string with
    provided value and current timestamp which was not correct
    Problem Summary: fixed to use >= value provided in FROM
    clause
    Problem Conclusion: fixed to sued the right range
    specification
    .
    379156: asntdiff:RANGE_CLAUSE bug fix for mixed column
    names
    User Affected: mixed column names and RANGECOL option
    users
    Problem Description: mixed columns were not recognized
    when used in the rangecol option
    Problem Summary: RANGECOL clause option support for mixed
    column names
    Problem Conclusion: support added for mixed col names when
    used in asntdiff with RANGECOL invocation parameter
    .
    379157: Prune Donemsg Deltomb slows, Recvq fills due to
    bad timing calculation
    User Affected: V8 Apply
    Problem Description: Timing problem causes pruning of
    Donemsg Deltomb table to slow down causing receive queue
    to fillup.
    Problem Summary: A timing problem causes the Admin thread
    to calculate wrong return times from the prune DoneMsg and
    Deltomb loops that causes the pruning to slow down or
    stop.
    Problem Conclusion: Fixed the calculations of the timing
    variables to ensure that they never get stale and have
    sane values.
    .
    379158: Delete non-QREP messages or messages with an older
    sequence time.
    User Affected: ALL
    Problem Description: Q Apply stops when it detects
    non-QREP messages or messages with an older sequence time,
    making it difficult for the user to selectively delete
    such messages.
    Problem Summary:  Q Apply stops when it detects non-QREP
    messages or messages with an older sequence time.
    Problem Conclusion: Q Apply will delete such messages
    from the queue and continue normal processing.
    

Problem conclusion

  • The problems described in the previous
    section have been fixed and will be available in DB2 LUW V8.2
    FP16.
    

Temporary fix

Comments

APAR Information

  • APAR number

    GG04754

  • Reported component name

    DATAPROPAGATOR

  • Reported component ID

    5765DP800

  • Reported release

    820

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-05-09

  • Closed date

    2008-01-30

  • Last modified date

    2008-01-30

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

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

Fix information

  • Fixed component name

    DATAPROPAGATOR

  • Fixed component ID

    5765DP800

Applicable component levels

  • R820 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDP5R","label":"InfoSphere Replication Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"820","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
07 January 2022