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

Manik Surtani (JIRA) jira-events at lists.jboss.org
Thu Jul 30 07:45:42 EDT 2009


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

Manik Surtani resolved JBCACHE-1524.
------------------------------------

    Fix Version/s: 3.2.0.GA
       Resolution: Done


> 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
>             Fix For: 3.2.0.GA
>
>
> 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