IBM Support

JR40061: CMVC 211774 - ALLOW THE CLIENT TO CHOSE WHICH CUSTOM COMMANDS THEY DO NOT WANT SERIALIZE.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • By design, concurrent requests from the same registered shopper
    are synchronized, executed one at a time, to avoid possible
    deadlocks and optimistic locking exceptions when concurrent
    updates are made. However, not all commands perform updates and
    thus may not require this level of synchronization. This iFix
    allows  you to specify a list of ControllerCommand classes that
    can be safely executed concurrently by the same user.
    

Local fix

Problem summary

  • USERS AFFECTED:
    All users
    
    PROBLEM ABSTRACT:
    Concurrent execution of controller commands by the same user is
    not possible.
    
    BUSINESS IMPACT:
    The overall impact of the problem depends on whether the clients
    business requirements expect requests to be executed
    concurrently for the same user.  If they do, then applying this
    iFix will allow the specified requests to be executed
    concurrently, to potentially achieve lower response times.
    
    RECOMMENDATION:
    

Problem conclusion

  • This iFix delays or removes synchronization from HTTP requests
    unless and until a ControllerCommand is executed during the
    request.  If the first ControllerCommand executed appears in the
    configured list, or if no ControllerCommand is executed, then
    synchronization is not performed for the request.
    
    By default, there is no change in behaviour.  To get the new
    behaviour, specify the following tag in the InstanceProperties
    tag of the wc-server.xml file:
    
        <com.ibm.commerce.datatype.ActivityGUIDLock
         noLockControllerCommands="
       com.myCompany.myPackage1.MyControllerClassName1
       com.myCompany.myPackage2.MyControllerClassName2
      "
        />
    
    where the specified value for the noLockControllerCommands
    setting is a white-space delimited list of class names of
    ControllerCommand classes for which synchronization should not
    occur.  If it is missing or blank, there is no change in
    behaviour.  If it is specified, then synchronization locks are
    not obtained for
    a request until the first ControllerCommand is executed, and
    only when that command is not an instance of one of the
    specified ControllerCommand classes.
    -------------------------------------------------------------
    The latest available maintenance information can be obtained
    from the Recommended Fixes for WebSphere Commerce technote:
    http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR40061

  • Reported component name

    WC BUS DEV ED W

  • Reported component ID

    5724I3900

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-07-11

  • Closed date

    2011-10-28

  • Last modified date

    2011-10-28

  • 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

    WC BUS DEV ED W

  • Fixed component ID

    5724I3900

Applicable component levels

  • R700 PSY

       UP



Document information

More support for: WebSphere Commerce Developer Enterprise

Software version: 7.0

Reference #: JR40061

Modified date: 28 October 2011