[jboss-jira] [JBoss JIRA] Closed: (JBAS-6040) Ensure correct TCCL is set before accessing clustered web session cache

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Thu Oct 16 19:36:21 EDT 2008


     [ https://jira.jboss.org/jira/browse/JBAS-6040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Stansberry closed JBAS-6040.
----------------------------------

    Resolution: Done


> Ensure correct TCCL is set before accessing clustered web session cache
> -----------------------------------------------------------------------
>
>                 Key: JBAS-6040
>                 URL: https://jira.jboss.org/jira/browse/JBAS-6040
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Clustering, Web (Tomcat) service
>    Affects Versions: JBossAS-5.0.0.CR2
>            Reporter: Brian Stansberry
>            Assignee: Brian Stansberry
>             Fix For: JBossAS-5.0.0.GA
>
>
> JBoss Web is accessing the session manager very early in the request cycle, before the TCCL is set.  This leads to issues like the following.  Initial workaround will be to set the TCCL in JBossCacheManager before accessing JBoss Cache.
> [JBoss] 10:54:25,457 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing
> [JBoss] org.jboss.cache.CacheException: java.lang.ClassNotFoundException: org.jboss.web.tomcat.service.session.distributedcache.spi.DistributableSessionTimestamp
> [JBoss]     at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:227)
> [JBoss]     at org.jboss.cache.invocation.CacheInvocationDelegate.getData(CacheInvocationDelegate.java:500)
> [JBoss]     at org.jboss.ha.cachemanager.CacheManagerManagedCache.getData(CacheManagerManagedCache.java:179)
> [JBoss]     at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.JBossCacheWrapper.getData(JBossCacheWrapper.java:55)
> [JBoss]     at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.JBossCacheService.loadSession(JBossCacheService.java:331)
> [JBoss]     at org.jboss.web.tomcat.service.session.JBossCacheManager.loadSession(JBossCacheManager.java:1460)
> [JBoss]     at org.jboss.web.tomcat.service.session.JBossCacheManager.findSession(JBossCacheManager.java:492)
> [JBoss]     at org.apache.catalina.connector.Request.isRequestedSessionIdValid(Request.java:2160)
> [JBoss]     at org.apache.catalina.connector.CoyoteAdapter.parseSessionCookiesId(CoyoteAdapter.java:626)
> [JBoss]     at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:551)
> [JBoss]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:322)
> [JBoss]     at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
> [JBoss]     at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:384)
> [JBoss]     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> [JBoss]     at java.lang.Thread.run(Thread.java:619)
> [JBoss] Caused by: java.lang.ClassNotFoundException: org.jboss.web.tomcat.service.session.distributedcache.spi.DistributableSessionTimestamp
> [JBoss]     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> [JBoss]     at java.security.AccessController.doPrivileged(Native Method)
> [JBoss]     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> [JBoss]     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> [JBoss]     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> [JBoss]     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> [JBoss]     at java.lang.Class.forName0(Native Method)
> [JBoss]     at java.lang.Class.forName(Class.java:247)
> [JBoss]     at org.jboss.util.stream.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:81)
> [JBoss]     at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
> [JBoss]     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
> [JBoss]     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
> [JBoss]     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> [JBoss]     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
> [JBoss]     at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:549)
> [JBoss]     at org.jboss.cache.marshall.CacheMarshaller200.populateFromStream(CacheMarshaller200.java:759)
> [JBoss]     at org.jboss.cache.marshall.CacheMarshaller200.unmarshallHashMap(CacheMarshaller200.java:722)
> [JBoss]     at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:580)
> [JBoss]     at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:522)
> [JBoss]     at org.jboss.cache.marshall.CacheMarshaller200.objectFromObjectStream(CacheMarshaller200.java:140)
> [JBoss]     at org.jboss.cache.marshall.VersionAwareMarshaller.objectFromObjectStream(VersionAwareMarshaller.java:326)
> [JBoss]     at org.jboss.cache.loader.FileCacheLoader.doUnmarshall(FileCacheLoader.java:478)
> [JBoss]     at org.jboss.cache.loader.AbstractCacheLoader.regionAwareUnmarshall(AbstractCacheLoader.java:216)
> [JBoss]     at org.jboss.cache.loader.FileCacheLoader.loadAttributes(FileCacheLoader.java:431)
> [JBoss]     at org.jboss.cache.loader.FileCacheLoader.get(FileCacheLoader.java:201)
> [JBoss]     at org.jboss.cache.interceptors.CacheLoaderInterceptor.loadData(CacheLoaderInterceptor.java:563)
> [JBoss]     at org.jboss.cache.interceptors.CacheLoaderInterceptor.loadNode(CacheLoaderInterceptor.java:490)
> [JBoss]     at org.jboss.cache.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:304)
> [JBoss]     at org.jboss.cache.interceptors.CacheLoaderInterceptor.visitGetDataMapCommand(CacheLoaderInterceptor.java:181)
> [JBoss]     at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss]     at org.jboss.cache.interceptors.base.PostProcessingCommandInterceptor.handleGetDataMapCommand(PostProcessingCommandInterceptor.java:213)
> [JBoss]     at org.jboss.cache.interceptors.base.PostProcessingCommandInterceptor.visitGetDataMapCommand(PostProcessingCommandInterceptor.java:203)
> [JBoss]     at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss]     at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss]     at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss]     at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss]     at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss]     at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:266)
> [JBoss]     at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:253)
> [JBoss]     at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss]     at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss]     at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss]     at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss]     at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss]     at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:155)
> [JBoss]     at org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:108)
> [JBoss]     at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss]     at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss]     at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:215)
> [JBoss]     ... 14 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list