IBM Support

PI05942: KeyNotFoundException during httpsession.setAttribute call when using HTTP session replication.

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

  • When an attribute is set on the client may attempt to update a
    session in the grid that had not been previously inserted. The
    exception stack from an FFDC report on the application server
    when this happens like the following:
    
    [10/21/13 6:10:43:524 EDT]     FFDC
    Exception:com.ibm.websphere.objectgrid.KeyNotFoundException
    SourceId:com.ibm.ws.objectgrid.ObjectMapImpl.update
    ProbeId:1055
    Reporter:com.ibm.ws.objectgrid.ObjectMapImpl@71707170
    com.ibm.websphere.objectgrid.KeyNotFoundException: Unable to
    find  abcxyz/App1 in session:objectgridSessionMetadata
        at
    com.ibm.ws.objectgrid.DiffMap.updateDiffMap(DiffMap.java:2033)
        at com.ibm.ws.objectgrid.DiffMap.update(DiffMap.java:1988)
        at
    com.ibm.ws.objectgrid.ObjectMapImpl.update(ObjectMapImpl.java:14
    97)
        at
    com.ibm.ws.objectgrid.ObjectMapImpl.update(ObjectMapImpl.java:14
    66)
        at
    com.ibm.ws.xs.sessionmanager.IBMHttpSessionListener.updateGrid(I
    BMHttpSessionListener.java:1307)
        at
    com.ibm.ws.xs.sessionmanager.IBMHttpSessionListener.attributeRep
    laced(IBMHttpSessionListener.java:365)
        at
    com.ibm.ws.session.http.HttpSessionAttributeObserver.sessionAttr
    ibuteSet(HttpSessionAttributeObserver.java:126)
        at
    com.ibm.ws.session.SessionStateEventDispatcher.sessionAttributeS
    et(SessionStateEventDispatcher.java:110)
        at
    com.ibm.ws.session.StoreCallback.sessionAttributeSet(StoreCallba
    ck.java:178)
        at
    com.ibm.ws.session.store.memory.MemorySession.setAttribute(Memor
    ySession.java:427)
        at
    com.ibm.ws.session.http.HttpSessionImpl.setAttribute(HttpSession
    Impl.java:251)
        at
    com.ibm.ws.session.SessionData.putSessionValue(SessionData.java:
    292)
        at
    com.ibm.ws.session.SessionData.setAttribute(SessionData.java:216
    )
        at
    com.ibm.ws.session.HttpSessionFacade.setAttribute(HttpSessionFac
    ade.java:169)
        at
    com.ibm.ws.xs.sessionmanager.HttpSessionRequestWrapper.releaseSe
    ssions(HttpSessionRequestWrapper.java:2736)
        at
    com.ibm.ws.xs.sessionmanager.HttpSessionFilter.doFilter(HttpSess
    ionFilter.java:452)
        at
    com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi
    lterInstanceWrapper.java:188)
        at
    com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp
    FilterChain.java:116)
        at
    com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAp
    pFilterChain.java:77)
        at
    com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebA
    ppFilterManager.java:908)
        at
    com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters
    (WebAppFilterManager.java:997)
        at
    com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.invo
    keFilters(DefaultExtensionProcessor.java:1062)
        at
    com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.hand
    leRequest(DefaultExtensionProcessor.java:982)
        at
    com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:
    3935)
        at
    com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.j
    ava:276)
        at
    com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.
    java:931)
        at
    com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContai
    ner.java:1583)
        at
    com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLin
    k.java:186)
        at
    com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscr
    imination(HttpInboundLink.java:452)
        at
    com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRe
    quest(HttpInboundLink.java:511)
        at
    com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequ
    est(HttpInboundLink.java:305)
        at
    com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpI
    nboundLink.java:276)
        at
    com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sen
    dToDiscriminators(NewConnectionInitialReadCallback.java:214)
        at
    com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.com
    plete(NewConnectionInitialReadCallback.java:113)
        at
    com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureComp
    leted(AioReadCompletionListener.java:165)
        at
    com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyn
    cFuture.java:217)
        at
    com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncC
    hannelFuture.java:161)
        at
    com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
        at
    com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
        at
    com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHand
    ler.java:775)
        at
    com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
        at
    com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of WebSphere eXtreme Scale HTTP       *
    *                  session replication.                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: The WebSphere eXtreme Scale Client HTTP *
    *                      session component might attempt to      *
    *                      update                                  *
    *                      a key that does not already exist in    *
    *                      the                                     *
    *                      remote data grid.                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Web requests fail and the session data is not sent to the remote
    data grid.  This failure is caused by a KeyNotFoundException
    exception that occurs when the HTTP session application invokes
    the HttpSession.setAttribute method when the
    replicationInterval=0 splicer property is set.
    The exception stack from a first-failure data capture (FFDC)
    report on the application server when this failure occurs is
    similar to the following:
    [10/21/13 6:10:43:524 EDT]     FFDC
    Exception:com.ibm.websphere.objectgrid.KeyNotFoundException
    SourceId:com.ibm.ws.objectgrid.ObjectMapImpl.update
    ProbeId:1055
    Reporter:com.ibm.ws.objectgrid.ObjectMapImpl@71707170
    com.ibm.websphere.objectgrid.KeyNotFoundException: Unable to
    find  abcxyz/App1 in session:objectgridSessionMetadata
    at
    com.ibm.ws.objectgrid.DiffMap.updateDiffMap(DiffMap.java:2033)
    at com.ibm.ws.objectgrid.DiffMap.update(DiffMap.java:1988)
    at
    com.ibm.ws.objectgrid.ObjectMapImpl.update(ObjectMapImpl.java:14
    97)
    at
    com.ibm.ws.objectgrid.ObjectMapImpl.update(ObjectMapImpl.java:14
    66)
    at
    com.ibm.ws.xs.sessionmanager.IBMHttpSessionListener.updateGrid(I
    BMHttpSessionListener.java:1307)
    at
    com.ibm.ws.xs.sessionmanager.IBMHttpSessionListener.attributeRep
    laced(IBMHttpSessionListener.java:365)
    at
    com.ibm.ws.session.http.HttpSessionAttributeObserver.sessionAttr
    ibuteSet(HttpSessionAttributeObserver.java:126)
    at
    com.ibm.ws.session.SessionStateEventDispatcher.sessionAttributeS
    et(SessionStateEventDispatcher.java:110)
    at
    com.ibm.ws.session.StoreCallback.sessionAttributeSet(StoreCallba
    ck.java:178)
    at
    com.ibm.ws.session.store.memory.MemorySession.setAttribute(Memor
    ySession.java:427)
    

Problem conclusion

  • The WebSphere eXtreme Scale Client HTTP session component has be
    updated to properly insert or update a session as required.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI05942

  • Reported component name

    WS EXTREME SCAL

  • Reported component ID

    5724X6702

  • Reported release

    711

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-11-12

  • Closed date

    2013-12-05

  • Last modified date

    2013-12-05

  • 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

    WS EXTREME SCAL

  • Fixed component ID

    5724X6702

Applicable component levels

  • R711 PSY

       UP

  • R850 PSY

       UP

  • R860 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSTVLU","label":"WebSphere eXtreme Scale"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"711","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
05 December 2013