No, I didn't think it was a WL specific problem, but something in the
WL environment that helps highlight a problem elsewhere.
Even though the scenario you outline below seems like an edge case,
the 2nd algo does seem cleaner (and more efficient if we are the
coord... don't even try a channel.getState() unnecessarily).
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
Email: manik(a)jboss.org
Telephone: +44 7786 702 706
MSN: manik(a)surtani.org
Yahoo/AIM/Skype: maniksurtani
On 29 Nov 2006, at 15:03, Brian Stansberry wrote:
Channel.getState() returning false indicates a problem either with
the
communications or with the coordinator's preparation of the state.
Hmm...something I just thought of. We:
1) connect the channel
2) call Channel.getState()
3) if that returns false, block until we get a view so we can see
if we
are coord. If not coord, throw an exception as getState() returning
false is an error condition.
There's a race between 2 and 3, i.e. getState() returns false but
then a
merge happens and in 3 we find we are not the coord. Perhaps
better is
to:
1) connect the channel.
2) block until we get a view
3) if we aren't coord, call channel.getState(), throw exception if
returns false
Don't particularly see how any of the above relates to WebLogic
though.
jbosscache-dev-bounces(a)lists.jboss.org wrote:
> I've seen this a couple of times on the user forums lately -
> do we have a problem with state transfers on WebLogic?
>
>> From: Kavipriya <do-not-reply(a)jboss.com>
>> Date: 29 November 2006 10:18:03 GMT
>> To: manik.surtani(a)jboss.com
>> Subject: [JBossCache] - Jboss Cache not working in weblogic 9.2
>>
>> In the cluster environment. I have two servers. When i start the
>> first server i dont have any problems but when i start the second
>> server it is throwing the following exception in the back end.
>>
>> org.jboss.cache.CacheException: Initial state transfer failed:
>> Channel.getState( ) returned false
>> at org.jboss.cache.TreeCache.fetchStateOnStartup
>> (TreeCache.java:2749) at
> org.jboss.cache.TreeCache.startService(TreeCache.java:1330)
>> at
>>
> com.taxware.twe.common.storage.impl.MessagingServiceImpl.startService
>> (MessagingServiceImpl.java:117)
>> at com.taxware.twe.common.storage.StartupServlet.startInit
>> (StartupServle t.java:185)
>> at com.taxware.twe.common.storage.StartupServlet.init
>> (StartupServlet.jav a:113)
>> at
> javax.servlet.GenericServlet.init(GenericServlet.java:256)
>> at weblogic.servlet.internal.StubSecurityHelper
>> $ServletInitAction.run(St ubSecurityHelper.java:276)
>> at weblogic.security.acl.internal.AuthenticatedSubject.doAs
>> (Authenticate dSubject.java:321)
>> at weblogic.security.service.SecurityManager.runAs
>> (SecurityManager.java: 121)
>> at
>>
> weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecuri
>> tyHelper.java:68)
>> at
>>
> weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubL
>> ifecycleHelper.java:58)
>> at weblogic.servlet.internal.StubLifecycleHelper.
>> (StubLifecycleHel per.java:48)
>> at weblogic.servlet.internal.ServletStubImpl.prepareServlet
>> (ServletStubI mpl.java:504)
>> at
>>
> weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppS
>> ervletContext.java:1698)
>> at
>>
> weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(
>> WebAppServletContext.java:1675)
>> at
>>
> weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAp
>> pServletContext.java:1595)
>> at weblogic.servlet.internal.WebAppServletContext.start
>> (WebAppServletCon text.java:2734)
>> at weblogic.servlet.internal.WebAppModule.startContexts
>> (WebAppModule.jav a:892)
>> at weblogic.servlet.internal.WebAppModule.start
>> (WebAppModule.java:336) at
>> weblogic.application.internal.flow.ModuleStateDriver
>> $3.next(ModuleSta teDriver.java:204) at
>> weblogic.application.utils.StateMachineDriver.nextState
>> (StateMachineD river.java:26) at
>>
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
>> eDriver.java:60)
>> at
>>
> weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedMod
>> uleDriver.java:200)
>> at
>>
> weblogic.application.internal.flow.ModuleListenerInvoker.start(Module
>> ListenerInvoker.java:117)
>> at weblogic.application.internal.flow.ModuleStateDriver
>> $3.next(ModuleSta teDriver.java:204)
>> at weblogic.application.utils.StateMachineDriver.nextState
>> (StateMachineD river.java:26)
>> at
>>
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
>> eDriver.java:60)
>> at
>>
> weblogic.application.internal.flow.StartModulesFlow.activate(StartMod
>> ulesFlow.java:26)
>> at weblogic.application.internal.BaseDeployment$2.next
>> (BaseDeployment.ja va:641)
>> at weblogic.application.utils.StateMachineDriver.nextState
>> (StateMachineD river.java:26)
>> at weblogic.application.internal.BaseDeployment.activate
>> (BaseDeployment. java:229)
>> at
>>
> weblogic.application.internal.DeploymentStateChecker.activate(Deploym
>> entStateChecker.java:154)
>> at
>>
> weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(Ap
>> pContainerInvoker.java:80)
>> at
>>
> weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicD
>> eployment.java:181)
>> at
>>
> weblogic.deploy.internal.targetserver.BasicDeployment.activateFromSer
>> verLifecycle(BasicDeployment.java:352)
>> at weblogic.management.deploy.internal.DeploymentAdapter
>> $1.doActivate(De ploymentAdapter.java:52)
>> at
>>
> weblogic.management.deploy.internal.DeploymentAdapter.activate(Deploy
>> mentAdapter.java:186)
>> at weblogic.management.deploy.internal.AppTransition
>> $2.transitionApp(App Transition.java:30)
>> at
>>
> weblogic.management.deploy.internal.ConfiguredDeployments.transitionA
>> pps(ConfiguredDeployments.java:233)
>> at
>>
> weblogic.management.deploy.internal.ConfiguredDeployments.activate(Co
>> nfiguredDeployments.java:169)
>> at
>>
> weblogic.management.deploy.internal.ConfiguredDeployments.deploy(Conf
>> iguredDeployments.java:123)
>> at
>>
> weblogic.management.deploy.internal.DeploymentServerService.resume(De
>> ploymentServerService.java:173)
>> at
>>
> weblogic.management.deploy.internal.DeploymentServerService.start(Dep
>> loymentServerService.java:89)
>> at weblogic.t3.srvr.SubsystemRequest.run
>> (SubsystemRequest.java:64)
>> at
> weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>> at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
>> com.taxware.twe.common.exception.TaxwareSystemException: General
>> Application Fai lure.Please contact System Administrator. at
>>
> com.taxware.twe.common.storage.impl.MessagingServiceImpl.startService
>> (MessagingServiceImpl.java:124)
>> at com.taxware.twe.common.storage.StartupServlet.startInit
>> (StartupServle t.java:185)
>> at com.taxware.twe.common.storage.StartupServlet.init
>> (StartupServlet.jav a:113)
>> at
> javax.servlet.GenericServlet.init(GenericServlet.java:256)
>> at weblogic.servlet.internal.StubSecurityHelper
>> $ServletInitAction.run(St ubSecurityHelper.java:276)
>> at weblogic.security.acl.internal.AuthenticatedSubject.doAs
>> (Authenticate dSubject.java:321)
>> at weblogic.security.service.SecurityManager.runAs
>> (SecurityManager.java: 121)
>> at
>>
> weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecuri
>> tyHelper.java:68)
>> at
>>
> weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubL
>> ifecycleHelper.java:58)
>> at weblogic.servlet.internal.StubLifecycleHelper.
>> (StubLifecycleHel per.java:48)
>> at weblogic.servlet.internal.ServletStubImpl.prepareServlet
>> (ServletStubI mpl.java:504)
>> at
>>
> weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppS
>> ervletContext.java:1698)
>> at
>>
> weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(
>> WebAppServletContext.java:1675)
>> at
>>
> weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAp
>> pServletContext.java:1595)
>> at weblogic.servlet.internal.WebAppServletContext.start
>> (WebAppServletCon text.java:2734)
>> at weblogic.servlet.internal.WebAppModule.startContexts
>> (WebAppModule.jav a:892)
>> at weblogic.servlet.internal.WebAppModule.start
>> (WebAppModule.java:336) at
>> weblogic.application.internal.flow.ModuleStateDriver
>> $3.next(ModuleSta teDriver.java:204) at
>> weblogic.application.utils.StateMachineDriver.nextState
>> (StateMachineD river.java:26) at
>>
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
>> eDriver.java:60)
>> at
>>
> weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedMod
>> uleDriver.java:200)
>> at
>>
> weblogic.application.internal.flow.ModuleListenerInvoker.start(Module
>> ListenerInvoker.java:117)
>> at weblogic.application.internal.flow.ModuleStateDriver
>> $3.next(ModuleSta teDriver.java:204)
>> at weblogic.application.utils.StateMachineDriver.nextState
>> (StateMachineD river.java:26)
>> at
>>
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
>> eDriver.java:60)
>> at
>>
> weblogic.application.internal.flow.StartModulesFlow.activate(StartMod
>> ulesFlow.java:26)
>> at weblogic.application.internal.BaseDeployment$2.next
>> (BaseDeployment.ja va:641)
>> at weblogic.application.utils.StateMachineDriver.nextState
>> (StateMachineD river.java:26)
>> at weblogic.application.internal.BaseDeployment.activate
>> (BaseDeployment. java:229)
>> at
>>
> weblogic.application.internal.DeploymentStateChecker.activate(Deploym
>> entStateChecker.java:154)
>> at
>>
> weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(Ap
>> pContainerInvoker.java:80)
>> at
>>
> weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicD
>> eployment.java:181)
>> at
>>
> weblogic.deploy.internal.targetserver.BasicDeployment.activateFromSer
>> verLifecycle(BasicDeployment.java:352)
>> at weblogic.management.deploy.internal.DeploymentAdapter
>> $1.doActivate(De ploymentAdapter.java:52)
>> at
>>
> weblogic.management.deploy.internal.DeploymentAdapter.activate(Deploy
>> mentAdapter.java:186)
>> at weblogic.management.deploy.internal.AppTransition
>> $2.transitionApp(App Transition.java:30)
>> at
>>
> weblogic.management.deploy.internal.ConfiguredDeployments.transitionA
>> pps(ConfiguredDeployments.java:233)
>> at
>>
> weblogic.management.deploy.internal.ConfiguredDeployments.activate(Co
>> nfiguredDeployments.java:169)
>> at
>>
> weblogic.management.deploy.internal.ConfiguredDeployments.deploy(Conf
>> iguredDeployments.java:123)
>> at
>>
> weblogic.management.deploy.internal.DeploymentServerService.resume(De
>> ploymentServerService.java:173)
>> at
>>
> weblogic.management.deploy.internal.DeploymentServerService.start(Dep
>> loymentServerService.java:89)
>> at weblogic.t3.srvr.SubsystemRequest.run
>> (SubsystemRequest.java:64)
>> at
> weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>> at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
>> <Nov 29, 2006 5:16:41 AM EST> <BEA-000388> <JVM called
>> WLS shutdown hook. The server will force shutdown now>
>> <Nov 29, 2006 5:16:41 AM EST> <BEA-000396> <Server shut
>> down has been requested by <WLS Kernel>> <Nov 29, 2006 5:16:41 AM
>> EST> <Log Management> <BEA-170027> <The server initialized
the
>> domain log broadcaster successfully. Log messages will now be b
>> roadcasted to the domain log.> <Nov 29, 2006 5:16:41 AM EST>
>> <BEA-000365> <Server sta
>> te changed to FORCE_SHUTTING_DOWN>
>>
>>
>> When i searched in the forums it has mentioned to increase the
>> timeout for this parameter 60000 but even after increasing the time
>> out i am getting the same issue.
>>
>> View the original post :
http://www.jboss.com/index.html?
>> module=bb&op=viewtopic&p=3989624#3989624
>>
>> Reply to the post :
http://www.jboss.com/index.html?
>> module=bb&op=posting&mode=reply&p=3989624
>
>
> _______________________________________________
> jbosscache-dev mailing list
> jbosscache-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/jbosscache-dev