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