IBM Support

IT36458: IBM SPECTRUM PROTECT API FUNCTION DSMDELETEOBJ RETURNS A RC 2070 PREMATURELY

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • The TXNGROUPMAX setting on the IBM Spectrum Protect server
    
    defines the maximum number of objects "n" that can be
    processed
    in a single transaction. However, dsmDeleteObj()
    returns
    DSM_RC_NEEDTO_ENDTXN (2070) when more than n - 1
    objects are
    deleted. The correct behavior is to return
    DSM_RC_OK (0) for up
    to n objects. For example, if TXNGROUPMAX
    is 256, then
    dsmDeleteObj() should return DSM_RC_OK (0) for
    the first 256
    objects added to the transaction. If the
    application tries to
    add more than 256 objects to the
    transaction, then
    dsmDeleteObj() should return
    DSM_RC_NEEDTO_ENDTXN (2070).
    
    Support/Customer diagnostics
    An
    API trace will show that the Spectrum Protect API reports
    the
    RC 2070 on the 256th transaction instead of an RC 0.
    
    
    (1)
    dsmInit showing that txnGroupMax is set to 256:
    
    dsmInit: node
    parm= >NULL<.
    owner parm= >NULL<.
    ArchiveRetentionProtection:
    client= NO server= NO.
    useTsmBuffers= >0< numTsmBuffers=
    >0<
    enableClientEncrKey= NO encryptKeyEnabled=NO,
    encryptKey=NONE
    useUnicode= NO, crossPlatform= NO
    txnGroupMax=
    256, archdel= YES, backdel= YES.
    
    (2) Section of trace showing
    the processing of the 256th
    transaction (without timestamp
    info):
    
     : dsmdel.cpp ( 318): dsmDeleteObj ENTRY:
     : dsmdel.cpp
    ( 376): dsmDeleteObj ENTRY: dsmHandle=1, delType:
     >dtArchive<
    objectID:>0 75182335<
     : cumisc.cpp (1269): cuobjectDel:
    repository REPOS_ARCHIVE
     IDhi: 0, IDlo : 75182335
     :
    session.cpp (2513): Address of buffer is 10541768
     : cumisc.cpp
    (1289):
    Contents of verb (0x9a) ObjectDel, length: 30:
    version
    : 00
    repository : 0xa
    versIdHi : 0
    versIdLo : 75182335
     :
    session.cpp (1897): Send Verb: Length: 30 Code: 0000009A
     Type:
    ObjectDel
     : commtcp.cpp (2343): TcpWrite: 30 bytes written of
    30
     requested.
     : session.cpp (1934): Sent Verb: Length: 30
    Code: 0000009A
     Type: ObjectDel ->
     : dsmdel.cpp ( 500):
    dsmDeleteObj dsmHandle=1,
      txnListCount:>256<
     : instr.cpp
    (1518): <timestamp> TID: 1, Replace: API Misc ,
     With: Waiting
    on App
     : dsmdel.cpp ( 505): dsmDeleteObj EXIT: rc = >2070<.
    
    
    Note: This behavior does not affect Backup-Archive Client
    
    functions. Only the API function dsmDeleteObj is
    affected.
    
    Spectrum Protect Versions Affected: V7.1 and V8.1 on
    all
    supported platforms
    
    Initial Impact: Low
    
    Additional
    Keywords:
    TS004632443,TSM,dsmDeleteObj, RC2070
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * IBM Spectrum Protect API client 7.1.x, 8.1.0, 8.1.2, 8.1.4,  *
    * 8.1.6, 8.1.7, 8.1.8, 8.1.9, 8.1.10, 8.1.11  running on all   *
    * platforms                                                    *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See ERROR DESCRIPTION                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * This issue is projected to be fixed in the IBM Spectrum      *
    * Protect client  version 8.1.13 on all platforms.             *
    * Note that this is subject to change at the discretion of     *
    * IBM.                                                         *
    ****************************************************************
    

Problem conclusion

  • Now it is possible to delete 256th  item via transaction.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT36458

  • Reported component name

    TSM CLIENT

  • Reported component ID

    5698ISMCL

  • Reported release

    71A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-04-05

  • Closed date

    2021-04-26

  • Last modified date

    2021-04-26

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

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

Modules/Macros

  • api
    

Fix information

  • Fixed component name

    TSM CLIENT

  • Fixed component ID

    5698ISMCL

Applicable component levels

[{"Line of Business":{"code":"LOB26","label":"Storage"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGSG7","label":"Tivoli Storage Manager"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"71A"}]

Document Information

Modified date:
27 April 2021