Orbeon 3.9 clustering

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Orbeon 3.9 clustering

Martin Dubeau
Hi,

we are using Orbeon 3.9 PE in Liferay 6.0.6 community edition on Tomcat 6.0.29.  We are currently configuring our environment in cluster.  We have 2 Tomcat nodes.

1- Is there some documentation available that explains what needs to be done in the Orbeon config to support clustering ?

2- We encounter serialization errors when the document cache is putting an attribute in the Tomcat session.  I don't know what it is trying to put in the session.  One solution I can see would be to disable the caching with <property as="xs:boolean" name="oxf.xforms.cache.document" value="false"/>.  But what will be the impact on performance ?  Will this fix my issue ?

See the error below.


Thanks,

Martin Dubeau
Telus Health Solutions



Orbeon Forms Error

Type

class java.lang.IllegalArgumentException

Message

setAttribute: Non-serializable attribute oxf.xforms.state.manager.session-listeners-key.21B9CB31-42CB-AF67-290B-581EC353A28D

Location

oxf:/ops/pfc/xforms-epilogue.xpl

Line

125

Column

60

Stack Trace

java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute oxf.xforms.state.manager.session-listeners-key.21B9CB31-42CB-AF67-290B-581EC353A28D

        at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1330)

        at org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:594)

        at org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:578)

        at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130)

        at org.orbeon.oxf.pipeline.InitUtils$SessionMap$1.setAttribute(InitUtils.java:417)

        at org.orbeon.oxf.util.AttributesToMap.put(AttributesToMap.java:38)

        at org.orbeon.oxf.util.AttributesToMap.put(AttributesToMap.java:21)

        at org.orbeon.oxf.xforms.state.XFormsStateManager.onAdd(XFormsStateManager.java:131)

        at org.orbeon.oxf.xforms.XFormsContainingDocument.added(XFormsContainingDocument.java:1399)

        at org.orbeon.oxf.cache.MemoryCacheImpl.notifyAdded(MemoryCacheImpl.java:135)

        at org.orbeon.oxf.cache.MemoryCacheImpl.add(MemoryCacheImpl.java:100)

        at org.orbeon.oxf.xforms.state.XFormsDocumentCache.storeDocument(XFormsDocumentCache.java:61)

        at org.orbeon.oxf.xforms.state.XFormsStateManager.cacheOrStore(XFormsStateManager.java:197)

        at org.orbeon.oxf.xforms.state.XFormsStateManager.afterInitialResponse(XFormsStateManager.java:80)

        at org.orbeon.oxf.xforms.processor.XFormsToXHTML.doIt(XFormsToXHTML.java:236)

        at org.orbeon.oxf.xforms.processor.XFormsToXHTML.access$000(XFormsToXHTML.java:53)

        at org.orbeon.oxf.xforms.processor.XFormsToXHTML$1.readImpl(XFormsToXHTML.java:74)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.xinclude.XIncludeProcessor$1$2.read(XIncludeProcessor.java:119)

        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:365)

        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:330)

        at org.orbeon.oxf.processor.xinclude.XIncludeProcessor$1.readImpl(XIncludeProcessor.java:113)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.xforms.processor.ResourcesAggregator$$anon$1.readImpl(ResourcesAggregator.scala:43)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput$1.run(PipelineProcessor.java:577)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeParents(PipelineProcessor.java:746)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$400(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readImpl(PipelineProcessor.java:573)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput$1.run(PipelineProcessor.java:577)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeParents(PipelineProcessor.java:746)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$400(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readImpl(PipelineProcessor.java:573)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.TeeProcessor$TeeProcessorOutputImpl.readImpl(TeeProcessor.java:89)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:286)

        at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:315)

        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:365)

        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:330)

        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:313)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:186)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:248)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:248)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControllerProcessor.java:476)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.getInput(PipelineProcessor.java:142)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:85)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:34)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:127)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput$1.run(PipelineProcessor.java:577)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeParents(PipelineProcessor.java:746)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$400(PipelineProcessor.java:61)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readImpl(PipelineProcessor.java:573)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)

        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)

        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)

        at org.orbeon.oxf.processor.NullSerializer.start(NullSerializer.java:28)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:248)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)

        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)

        at org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControllerProcessor.java:476)

        at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:89)

        at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:97)

        at org.orbeon.oxf.servlet.OrbeonServletDelegate.service(OrbeonServletDelegate.java:133)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at rpm.orbeon.sso.SSOFilter.doFilter(SSOFilter.java:304)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

        at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)

        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

        at java.lang.Thread.run(Unknown Source)

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 clustering

Alessandro  Vernet
Administrator
Hi Martin,

At this point, Orbeon Forms doesn't support session replication. So, when deploying Orbeon in a cluster, you need to:

- Disable session replication.
- Setup your load balancer to use sticky cookies so the same user is always sent to the same server in the cluster.

(And don't disable the document cache! It wouldn't help, and if working at all would kill performance.)

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 clustering

dubeaum
Hi Alex,

When you say "Disable session replication", do you talk about an Orbeon
parameter somewhere or you are talking about the Tomcat session
replication ?

Thanks,

Martin
Le 2013-04-11 13:43, Alessandro Vernet a écrit :

> Hi Martin,
>
> At this point, Orbeon Forms doesn't support session replication. So, when
> deploying Orbeon in a cluster, you need to:
>
> - Disable session replication.
> - Setup your load balancer to use sticky cookies so the same user is always
> sent to the same server in the cluster.
>
> (And don't disable the document cache! It wouldn't help, and if working at
> all would kill performance.)
>
> Alex
>
> -----

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].


Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 clustering

Alessandro  Vernet
Administrator
Hi Martin,

Sorry for the confusion: I was talking about the Tomcat session replication (or in general session replication done by your application server). There is no parameter that needs to be changed at the Orbeon Forms level for clustering.

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 clustering

dubeaum
Ok thanks a lot Alex.

Is there any plan to support session replication ?  If so, any target
release ?

Regards,

Martin

Le 2013-04-12 15:30, Alessandro Vernet a écrit :

> Hi Martin,
>
> Sorry for the confusion: I was talking about the Tomcat session replication
> (or in general session replication done by your application server). There
> is no parameter that needs to be changed at the Orbeon Forms level for
> clustering.
>
> Alex
>
> -----

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].


Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 clustering

Alessandro  Vernet
Administrator
Martin,

We've been thinking about it, but supporting session replication isn't that simple to do efficiently, because of the amount of data kept by the XForms engine on the server for each active document. You'll find some thoughts we captured about this on the wiki page linked below.

http://wiki.orbeon.com/forms/projects/xforms-session-replication

Compared to the complexity of the task, the benefit we would get by having session replication is small: it would only impact users assigned to a server in the cluster that goes down while they are filling a form, and they would loose data entered since the last time they saved.

Our current thinking is that to handle this, a solution better than session replication would be to implement a transparent auto-save. In that case, if the user is reassigned to another server while filling out a form, Orbeon Forms would be able to recreate a session transparently based on the auto-saved data. And this would also handle cases where things other than servers go down (say user loosing a connection for a long time, computer crashing or running out of power, browser crashing…).

But at this point we don't have any short or mid-term plans to implement this, and when we do so, it will most likely be thanks to a customer sponsoring this feature (through a Dev Support plan).

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet