[jbosscache-issues] [JBoss JIRA] Created: (JBCACHE-1524) ClassCastException processing GravitateDataCommand results in LegacyDataGravitatorInterceptor

Paul Ferraro (JIRA) jira-events at lists.jboss.org
Tue Jul 28 14:24:29 EDT 2009


ClassCastException processing GravitateDataCommand results in LegacyDataGravitatorInterceptor
---------------------------------------------------------------------------------------------

                 Key: JBCACHE-1524
                 URL: https://jira.jboss.org/jira/browse/JBCACHE-1524
             Project: JBoss Cache
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Buddy Replication
    Affects Versions: 3.1.0.GA
            Reporter: Paul Ferraro
            Assignee: Manik Surtani
            Priority: Critical


While running web session replication soak tests, we ran into the following failure using synchronous buddy replication.

The issue, I think, resides in the LegacyDataGravitatorInterceptor.ResponseValidityFilter, the purpose of which is unclear to me.  It does not actually filter out invalid responses, since ResponseValidityFilter.isAcceptable(...) always returns true.  Consequently, the response processing in LegacyDataGravitatorInterceptor.gravitateData(Fqn) throws an ClassCastException if a response is not a GravitateResult instance, which was the case in the trace below:

17:42:30,454 ERROR [org.apache.catalina.connector.CoyoteAdapter] (ajp-jawa03%2F10.34.32.155-8009-141) An exception or error occurred in the container during the request processing
[JBoss] java.lang.ClassCastException: org.jboss.cache.marshall.RequestIgnoredResponse cannot be cast to org.jboss.cache.buddyreplication.GravitateResult
[JBoss] 	at org.jboss.cache.interceptors.LegacyDataGravitatorInterceptor.gravitateData(LegacyDataGravitatorInterceptor.java:381)
[JBoss] 	at org.jboss.cache.interceptors.LegacyDataGravitatorInterceptor.remoteBackupGet(LegacyDataGravitatorInterceptor.java:295)
[JBoss] 	at org.jboss.cache.interceptors.LegacyDataGravitatorInterceptor.handleGetMethod(LegacyDataGravitatorInterceptor.java:223)
[JBoss] 	at org.jboss.cache.interceptors.LegacyDataGravitatorInterceptor.visitGetDataMapCommand(LegacyDataGravitatorInterceptor.java:115)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
[JBoss] 	at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:100)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.LegacyCacheLoaderInterceptor.visitGetDataMapCommand(LegacyCacheLoaderInterceptor.java:209)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
[JBoss] 	at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.handleGetDataMapCommand(PrePostProcessingCommandInterceptor.java:249)
[JBoss] 	at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitGetDataMapCommand(PrePostProcessingCommandInterceptor.java:239)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
[JBoss] 	at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:100)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
[JBoss] 	at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:100)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:301)
[JBoss] 	at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:283)
[JBoss] 	at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:100)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
[JBoss] 	at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:100)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[JBoss] 	at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)
[JBoss] 	at org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:130)
[JBoss] 	at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:100)
[JBoss] 	at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:66)
[JBoss] 	at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:287)
[JBoss] 	at org.jboss.cache.invocation.CacheInvocationDelegate.getData(CacheInvocationDelegate.java:570)
[JBoss] 	at org.jboss.ha.cachemanager.CacheManagerManagedCache.getData(CacheManagerManagedCache.java:212)
[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.AbstractJBossCacheService.getSessionData(AbstractJBossCacheService.java:348)
[JBoss] 	at org.jboss.web.tomcat.service.session.JBossCacheManager.loadSession(JBossCacheManager.java:1854)
[JBoss] 	at org.jboss.web.tomcat.service.session.JBossCacheManager.findSession(JBossCacheManager.java:491)
[JBoss] 	at org.apache.catalina.connector.Request.doGetSession(Request.java:2320)
[JBoss] 	at org.apache.catalina.connector.Request.getSession(Request.java:2094)
[JBoss] 	at org.jboss.web.tomcat.service.session.JvmRouteValve.checkJvmRoute(JvmRouteValve.java:95)
[JBoss] 	at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteValve.java:85)
[JBoss] 	at org.jboss.web.tomcat.service.session.LockingValve.invoke(LockingValve.java:62)
[JBoss] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
[JBoss] 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
[JBoss] 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
[JBoss] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
[JBoss] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[JBoss] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
[JBoss] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[JBoss] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
[JBoss] 	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)
[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)

-- 
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 jbosscache-issues mailing list