IBM Support

JR41350: CMVC 216455 - CORRECT INTERMITTENT CONCURRENTMODIFICATIONEXCEPTION WHEN REFRESHING STRUTS REGISTRY.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Refreshing the Struts/UrlRegistry can fail with
    java.util.ConcurrentModificationException when the
    ServletContext attributes are updated by another thread while
    the refresh is executing
    
    [11/28/11 17:05:02:392 UTC] 00107084 CommerceSrvr  E
    com.ibm.commerce.scheduler.commands.RefreshLocalRegistryCmdImpl
    registryRegistry CMN0412E: The following remote exception has
    occurred during processing:
    "java.util.ConcurrentModificationException".java.util.Concurrent
    ModificationException
     at
    java.util.HashMap$AbstractMapIterator.checkConcurrentMod(HashMap
    .java:122)
     at
    java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:127)
     at java.util.HashMap$EntryIterator.next(HashMap.java:188)
     at java.util.HashMap$EntryIterator.next(HashMap.java:181)
     at java.util.HashMap.putAllImpl(HashMap.java:678)
     at java.util.HashMap.putAll(HashMap.java:669)
     at
    com.ibm.ws.webcontainer.webapp.WebApp.getAttributeNames(WebApp.j
    ava:2797)
     at
    com.ibm.wsspi.webcontainer.facade.ServletContextFacade.getAttrib
    uteNames(ServletContextFacade.java:267)
     at
    com.ibm.commerce.struts.ECActionServlet.refresh(ECActionServlet.
    java:371)
     at
    com.ibm.commerce.struts.StrutsRegistrySourceImpl.refresh(StrutsR
    egistrySourceImpl.java:76)
     at
    com.ibm.commerce.registry.UrlRegistry.refresh(UrlRegistry.java:1
    14)
     at
    com.ibm.commerce.registry.RegistryManager.refreshAll(RegistryMan
    ager.java:219)
     at
    com.ibm.commerce.scheduler.commands.RefreshLocalRegistryCmdImpl.
    refreshRegistry(RefreshLocalRegistryCmdImpl.java:180)
     at
    com.ibm.commerce.scheduler.commands.RefreshLocalRegistryCmdImpl.
    performExecute(RefreshLocalRegistryCmdImpl.java:136)
    
    If refreshing the registry fails, the Registry might be left
    empty and subsequent requests to this server will fail
    

Local fix

Problem summary

  • USERS AFFECTED:
    WebSphere Commerce v7.0 users
    
    PROBLEM ABSTRACT:
    Correct intermittent ConcurrentModificationException when
    refreshing Struts Registry
    
    BUSINESS IMPACT:
    If refreshing the registry fails, the Registry might be left
    empty and subsequent requests to this server will fail
    
    RECOMMENDATION:
    

Problem conclusion

  • The code for ECActionServlet  and StrutsRegistrySourceImpl was
    updated to improve the synchronization and avoid the
    ConcurrentModificationException error
    
    -------------------------------------------------------------
    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

    JR41350

  • Reported component name

    WC BUS EDITION

  • Reported component ID

    5724I3800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-12-01

  • Closed date

    2012-01-27

  • Last modified date

    2012-01-27

  • 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 EDITION

  • Fixed component ID

    5724I3800

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
27 January 2012