clustering failover error
We are trying to get clustering working with Wicket 1.3.2 (on JBoss 4.3.0) and we get the following exception when one node fails over to another node. Has anyone seen anything like this before? Any suggestions/guesses? Thank you, Scott 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using `org.apache .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory java.lang.RuntimeException: Could not deserialize object using `org.apache.wicke t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 6) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali zePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP ageStore.java:706) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage (DiskPageStore.java:1218) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe velCachePageMap.get(SecondLevelCacheSessionStore.java:296) at org.apache.wicket.Session.getPage(Session.java:751) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender edPage(AbstractRequestCycleProcessor.java:448) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR equestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: 358) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav a:124) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom erFacingClientContextFilter.java:42) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi lter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit yAssociationValve.java:179) at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu steredSessionValve.java:87) at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteVal ve.java:84) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv e.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC onnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav a:241) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpPro tocol.java:381) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44 7) at java.lang.Thread.run(Unknown Source) Caused by: java.io.StreamCorruptedException: invalid type code: B8 at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknow
Re: clustering failover error
Stream corrupt exceptio, invalid type code? It seems that the byte array on that side isnt correct. Do you have a setup/testcase for this? Do you get it on other app servers? On 3/24/08, Scott Swank <[EMAIL PROTECTED]> wrote: > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > 4.3.0) and we get the following exception when one node fails over to > another node. Has anyone seen anything like this before? Any > suggestions/guesses? > > Thank you, > Scott > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > `org.apache > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > 6) > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > zePage(AbstractPageStore.java:228) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > ageStore.java:706) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > (DiskPageStore.java:1218) > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > at org.apache.wicket.Session.getPage(Session.java:751) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > edPage(AbstractRequestCycleProcessor.java:448) > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > equestCycleProcessor.java:139) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > 358) > at > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > a:124) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > erFacingClientContextFilter.java:42) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > lter.java:96) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:230) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:175) > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit > yAssociationValve.java:179) > at > org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu > steredSessionValve.java:87) > at > org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteVal > ve.java:84) > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv > e.java:84) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:104) > at > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC > onnectionValve.java:157) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav > a:241) > at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) > at > org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpPro > tocol.java:381) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run
Re: clustering failover error
We run JBoss and haven't tried this on other app servers. Could the fact that we're running Java 6 be relevant? The specific type code in the exception varies each time, and this occurs every time we fail over from one node to another. We don't a test case, but if you have a JBoss cluster we could maybe send you a war. :) Thank you, Scott On Mon, Mar 24, 2008 at 3:25 PM, Johan Compagner <[EMAIL PROTECTED]> wrote: > Stream corrupt exceptio, invalid type code? > It seems that the byte array on that side isnt correct. Do you have a > setup/testcase for this? Do you get it on other app servers? > > > > On 3/24/08, Scott Swank <[EMAIL PROTECTED]> wrote: > > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > > 4.3.0) and we get the following exception when one node fails over to > > another node. Has anyone seen anything like this before? Any > > suggestions/guesses? > > > > Thank you, > > Scott > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > > `org.apache > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > > factory > > java.lang.RuntimeException: Could not deserialize object using > > `org.apache.wicke > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory > > at > > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > 6) > > at > > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > zePage(AbstractPageStore.java:228) > > at > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > ageStore.java:706) > > at > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > (DiskPageStore.java:1218) > > at > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > at > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > at org.apache.wicket.Session.getPage(Session.java:751) > > at > > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > edPage(AbstractRequestCycleProcessor.java:448) > > at > > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > equestCycleProcessor.java:139) > > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > > at > > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > > 358) > > at > > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > > a:124) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:290) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > erFacingClientContextFilter.java:42) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:235) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:235) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > > lter.java:96) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:235) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > > alve.java:230) > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > > alve.java:175) > > at > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit > > yAssociationValve.java:179) > > at > > org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu > > steredSessionValve.java:87) > > at > > org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteVal > > ve.java:84) > > at > > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv > > e.java:84
Re: clustering failover error
Using the HttpSessionStore pushes this exception to JBoss. It seems that something in the session just can't be deserialized by a separate jvm. On Mon, Mar 24, 2008 at 3:54 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > We run JBoss and haven't tried this on other app servers. Could the > fact that we're running Java 6 be relevant? The specific type code in > the exception varies each time, and this occurs every time we fail > over from one node to another. > > We don't a test case, but if you have a JBoss cluster we could maybe > send you a war. :) > > Thank you, > Scott > > > > > On Mon, Mar 24, 2008 at 3:25 PM, Johan Compagner <[EMAIL PROTECTED]> wrote: > > Stream corrupt exceptio, invalid type code? > > It seems that the byte array on that side isnt correct. Do you have a > > setup/testcase for this? Do you get it on other app servers? > > > > > > > > On 3/24/08, Scott Swank <[EMAIL PROTECTED]> wrote: > > > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > > > 4.3.0) and we get the following exception when one node fails over to > > > another node. Has anyone seen anything like this before? Any > > > suggestions/guesses? > > > > > > Thank you, > > > Scott > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > > > `org.apache > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > > > factory > > > java.lang.RuntimeException: Could not deserialize object using > > > `org.apache.wicke > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > > at > > > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > > 6) > > > at > > > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > zePage(AbstractPageStore.java:228) > > > at > > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > ageStore.java:706) > > > at > > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > (DiskPageStore.java:1218) > > > at > > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > > at > > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > at > > > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > edPage(AbstractRequestCycleProcessor.java:448) > > > at > > > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > > equestCycleProcessor.java:139) > > > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > > > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > > > at > > > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > > > 358) > > > at > > > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > > > a:124) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:290) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > > > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > > erFacingClientContextFilter.java:42) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > > > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > > > > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > > > lter.java:96) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > > > alve.java:230) > > > at > > > org.apac
Re: clustering failover error
If we use ObjectOutputStream to write the session to disk we can read it back on the same jvm. However, a separate jvm cannot read the file -- we get the same StreamCorruptedException. What could be jvm-specific? Thank you, Scott On Mon, Mar 24, 2008 at 4:35 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > Using the HttpSessionStore pushes this exception to JBoss. It seems > that something in the session just can't be deserialized by a separate > jvm. > > > > On Mon, Mar 24, 2008 at 3:54 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > We run JBoss and haven't tried this on other app servers. Could the > > fact that we're running Java 6 be relevant? The specific type code in > > the exception varies each time, and this occurs every time we fail > > over from one node to another. > > > > We have don't a test case, but if you have a JBoss cluster we could > > maybe send you a war. :) > > > > Thank you, > > Scott > > > > > > > > > > On Mon, Mar 24, 2008 at 3:25 PM, Johan Compagner <[EMAIL PROTECTED]> > wrote: > > > Stream corrupt exceptio, invalid type code? > > > It seems that the byte array on that side isnt correct. Do you have a > > > setup/testcase for this? Do you get it on other app servers? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering failover error
are all the nodes running identical software? -igor On Mon, Mar 24, 2008 at 4:52 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > If we use ObjectOutputStream to write the session to disk we can read > it back on the same jvm. However, a separate jvm cannot read the file > -- we get the same StreamCorruptedException. What could be > jvm-specific? > > Thank you, > Scott > > > > On Mon, Mar 24, 2008 at 4:35 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > Using the HttpSessionStore pushes this exception to JBoss. It seems > > that something in the session just can't be deserialized by a separate > > jvm. > > > > > > > > On Mon, Mar 24, 2008 at 3:54 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > We run JBoss and haven't tried this on other app servers. Could the > > > fact that we're running Java 6 be relevant? The specific type code in > > > the exception varies each time, and this occurs every time we fail > > > over from one node to another. > > > > > > We have don't a test case, but if you have a JBoss cluster we could > > > > maybe send you a war. :) > > > > > > Thank you, > > > Scott > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:25 PM, Johan Compagner <[EMAIL PROTECTED]> > wrote: > > > > Stream corrupt exceptio, invalid type code? > > > > It seems that the byte array on that side isnt correct. Do you have > a > > > > setup/testcase for this? Do you get it on other app servers? > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering failover error
Seemingly yes. If we write the session to disk, stop the jvm, restart the jvm, and then read the session from disk on the same server we get this exception. - Scott On Mon, Mar 24, 2008 at 5:10 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > are all the nodes running identical software? > > -igor > > > > > On Mon, Mar 24, 2008 at 4:52 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > If we use ObjectOutputStream to write the session to disk we can read > > it back on the same jvm. However, a separate jvm cannot read the file > > -- we get the same StreamCorruptedException. What could be > > jvm-specific? > > > > Thank you, > > Scott > > > > > > > > On Mon, Mar 24, 2008 at 4:35 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > Using the HttpSessionStore pushes this exception to JBoss. It seems > > > that something in the session just can't be deserialized by a separate > > > jvm. > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:54 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > > We run JBoss and haven't tried this on other app servers. Could the > > > > fact that we're running Java 6 be relevant? The specific type code > in > > > > the exception varies each time, and this occurs every time we fail > > > > over from one node to another. > > > > > > > > We have don't a test case, but if you have a JBoss cluster we could > > > > > > maybe send you a war. :) > > > > > > > > Thank you, > > > > Scott > > > > > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:25 PM, Johan Compagner <[EMAIL > PROTECTED]> wrote: > > > > > Stream corrupt exceptio, invalid type code? > > > > > It seems that the byte array on that side isnt correct. Do you > have a > > > > > setup/testcase for this? Do you get it on other app servers? > > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering failover error
Couldn't missing SerialVersionUUID cause this? Doesn't seem likely though, I'd expect much saner exception in that case. -Matej On Tue, Mar 25, 2008 at 3:24 AM, Scott Swank <[EMAIL PROTECTED]> wrote: > Seemingly yes. If we write the session to disk, stop the jvm, restart > the jvm, and then read the session from disk on the same server we > get this exception. > > - Scott > > > > > On Mon, Mar 24, 2008 at 5:10 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > > are all the nodes running identical software? > > > > -igor > > > > > > > > > > On Mon, Mar 24, 2008 at 4:52 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > If we use ObjectOutputStream to write the session to disk we can read > > > it back on the same jvm. However, a separate jvm cannot read the file > > > -- we get the same StreamCorruptedException. What could be > > > jvm-specific? > > > > > > Thank you, > > > Scott > > > > > > > > > > > > On Mon, Mar 24, 2008 at 4:35 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > > Using the HttpSessionStore pushes this exception to JBoss. It seems > > > > that something in the session just can't be deserialized by a > separate > > > > jvm. > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:54 PM, Scott Swank <[EMAIL PROTECTED]> > wrote: > > > > > We run JBoss and haven't tried this on other app servers. Could > the > > > > > fact that we're running Java 6 be relevant? The specific type > code in > > > > > the exception varies each time, and this occurs every time we > fail > > > > > over from one node to another. > > > > > > > > > > We have don't a test case, but if you have a JBoss cluster we > could > > > > > > > > maybe send you a war. :) > > > > > > > > > > Thank you, > > > > > Scott > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:25 PM, Johan Compagner <[EMAIL > PROTECTED]> wrote: > > > > > > Stream corrupt exceptio, invalid type code? > > > > > > It seems that the byte array on that side isnt correct. Do > you have a > > > > > > setup/testcase for this? Do you get it on other app servers? > > > > > > > > > > > > > > > > - > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Resizable and reorderable grid components. http://www.inmethod.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering failover error
Are these nodes on the same machine or are you running different machines? On Mon, Mar 24, 2008 at 6:15 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > 4.3.0) and we get the following exception when one node fails over to > another node. Has anyone seen anything like this before? Any > suggestions/guesses? > > Thank you, > Scott > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > `org.apache > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > 6) > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > zePage(AbstractPageStore.java:228) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > ageStore.java:706) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > (DiskPageStore.java:1218) > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > at org.apache.wicket.Session.getPage(Session.java:751) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > edPage(AbstractRequestCycleProcessor.java:448) > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > equestCycleProcessor.java:139) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > 358) > at > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > a:124) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > erFacingClientContextFilter.java:42) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > lter.java:96) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:230) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:175) > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit > yAssociationValve.java:179) > at > org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu > steredSessionValve.java:87) > at > org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteVal > ve.java:84) > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv > e.java:84) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:104) > at > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC > onnectionValve.java:157) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav > a:241) > at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) > at > org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpPro > tocol.java:381) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
Re: clustering failover error
What kind of objects are in the session? Maybe something that's bytecode instrumented? Scott Swank wrote: > > Seemingly yes. If we write the session to disk, stop the jvm, restart > the jvm, and then read the session from disk on the same server we > get this exception. > > - Scott > > > On Mon, Mar 24, 2008 at 5:10 PM, Igor Vaynberg <[EMAIL PROTECTED]> > wrote: >> are all the nodes running identical software? >> >> -igor >> >> >> >> >> On Mon, Mar 24, 2008 at 4:52 PM, Scott Swank <[EMAIL PROTECTED]> >> wrote: >> > If we use ObjectOutputStream to write the session to disk we can read >> > it back on the same jvm. However, a separate jvm cannot read the >> file >> > -- we get the same StreamCorruptedException. What could be >> > jvm-specific? >> > >> > Thank you, >> > Scott >> > >> > >> > >> > On Mon, Mar 24, 2008 at 4:35 PM, Scott Swank <[EMAIL PROTECTED]> >> wrote: >> > > Using the HttpSessionStore pushes this exception to JBoss. It >> seems >> > > that something in the session just can't be deserialized by a >> separate >> > > jvm. >> > > >> > > >> > > >> > > On Mon, Mar 24, 2008 at 3:54 PM, Scott Swank >> <[EMAIL PROTECTED]> wrote: >> > > > We run JBoss and haven't tried this on other app servers. Could >> the >> > > > fact that we're running Java 6 be relevant? The specific type >> code in >> > > > the exception varies each time, and this occurs every time we >> fail >> > > > over from one node to another. >> > > > >> > > > We have don't a test case, but if you have a JBoss cluster we >> could >> > >> > > > maybe send you a war. :) >> > > > >> > > > Thank you, >> > > > Scott >> > > > >> > > > >> > > > >> > > > >> > > > On Mon, Mar 24, 2008 at 3:25 PM, Johan Compagner >> <[EMAIL PROTECTED]> wrote: >> > > > > Stream corrupt exceptio, invalid type code? >> > > > > It seems that the byte array on that side isnt correct. Do >> you have a >> > > > > setup/testcase for this? Do you get it on other app servers? >> > >> > >> > >> >> >> > - >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/clustering-failover-error-tp16263418p16268689.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering failover error
see WICKET-1445. upgrade wicket to trunk and try again. -igor On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > 4.3.0) and we get the following exception when one node fails over to > another node. Has anyone seen anything like this before? Any > suggestions/guesses? > > Thank you, > Scott > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > `org.apache > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > 6) > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > zePage(AbstractPageStore.java:228) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > ageStore.java:706) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > (DiskPageStore.java:1218) > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > at org.apache.wicket.Session.getPage(Session.java:751) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > edPage(AbstractRequestCycleProcessor.java:448) > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > equestCycleProcessor.java:139) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > 358) > at > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > a:124) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > erFacingClientContextFilter.java:42) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > lter.java:96) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:230) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:175) > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit > yAssociationValve.java:179) > at > org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu > steredSessionValve.java:87) > at > org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteVal > ve.java:84) > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv > e.java:84) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:104) > at > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC > onnectionValve.java:157) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav > a:241) > at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) > at > org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpPro > tocol.java:381) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint
Re: clustering failover error
Thank you. We'll give that a try and let you know the results. On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > see WICKET-1445. upgrade wicket to trunk and try again. > > -igor > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > > 4.3.0) and we get the following exception when one node fails over to > > another node. Has anyone seen anything like this before? Any > > suggestions/guesses? > > > > Thank you, > > Scott > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > `org.apache > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory > > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > 6) > > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > zePage(AbstractPageStore.java:228) > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > ageStore.java:706) > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > (DiskPageStore.java:1218) > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > at org.apache.wicket.Session.getPage(Session.java:751) > > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > edPage(AbstractRequestCycleProcessor.java:448) > > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > equestCycleProcessor.java:139) > > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > > 358) > > at > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > > a:124) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:290) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > erFacingClientContextFilter.java:42) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:235) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:235) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > > lter.java:96) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > icationFilterChain.java:235) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > ilterChain.java:206) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > > alve.java:230) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > > alve.java:175) > > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit > > yAssociationValve.java:179) > > at > org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu > > steredSessionValve.java:87) > > at > org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteVal > > ve.java:84) > > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv > > e.java:84) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > > ava:128) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > > ava:104) > > at > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC > > onnectionValve.java:157) > > at > org.apache.catalina.core.StandardEngineValve.invoke
Re: clustering failover error
That did not take care of our problem. We are examining our session to see whether it mistakenly contains some sort of cglib proxy -- our typesafe model, or maybe something from Hibernate. Thank you again for the help. Scott On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> wrote: > Thank you. We'll give that a try and let you know the results. > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > -igor > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > > > 4.3.0) and we get the following exception when one node fails over to > > > another node. Has anyone seen anything like this before? Any > > > suggestions/guesses? > > > > > > Thank you, > > > Scott > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > `org.apache > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > object factory > > > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > > 6) > > > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > zePage(AbstractPageStore.java:228) > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > ageStore.java:706) > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > (DiskPageStore.java:1218) > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > edPage(AbstractRequestCycleProcessor.java:448) > > > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > > equestCycleProcessor.java:139) > > > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > > > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > > > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > > > 358) > > > at > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > > > a:124) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:290) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > > erFacingClientContextFilter.java:42) > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > > > lter.java:96) > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > > > alve.java:230) > > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > > > alve.java:175) > > > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit > > > yAssociationValve.java:179) > > > at > org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu > > > steredSessionValve.java:87) > > > at > org.jboss.web.tomcat.service.session.JvmRouteVa
Re: clustering failover error
Hi, Assuming you use CGLib: CGLib classes could cause this problem, it makes sense since: - It does not occur in a single jvm, the enhanced classes are available there. - It does occur when read from a different jvm *or* restarted jvm: The enhanced classes are no longer available there. According to the CGLib site there is a way around this. See http://cglib.sourceforge.net/howto.html CGLIB and JAVA Serialization > > JAVA objects can be serialized to binary streams, it is used to implement > RMI too. Serialization needs to load class before to deserialize object > data. It is possible there is no generated class on client or server for > unmarshaled object, but serialization lets to replace objects in stream > (writeReplace/readResolve contract). To add "writeReplace" method to proxy > class declare this method in interface with exact signature specified by > JAVA serialization. Implement writeReplace in interceptor. Proxy object can > be replaced by handle, object stream invokes "readResolve" before to > deserialize hanle. Generate or find proxy class in "readResolve" method > before to deserialize hanle and return proxy instance. > The description is a bit cryptic though But my understanding is that when you implement the writeReplace and readResolve methods in your enhanced class it should work. Hopes this helps. Lars On Wed, Mar 26, 2008 at 5:36 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > That did not take care of our problem. We are examining our session > to see whether it mistakenly contains some sort of cglib proxy -- our > typesafe model, or maybe something from Hibernate. > > Thank you again for the help. > > Scott > > On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> > wrote: > > Thank you. We'll give that a try and let you know the results. > > > > > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg < > [EMAIL PROTECTED]> wrote: > > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > > > -igor > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> > wrote: > > > > We are trying to get clustering working with Wicket 1.3.2 (on > JBoss > > > > 4.3.0) and we get the following exception when one node fails > over to > > > > another node. Has anyone seen anything like this before? Any > > > > suggestions/guesses? > > > > > > > > Thank you, > > > > Scott > > > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object > using `org.apache > > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > object factory > > > > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > > > at org.apache.wicket.util.lang.Objects.byteArrayToObject( > Objects.java:40 > > > > 6) > > > > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > > zePage(AbstractPageStore.java:228) > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > > ageStore.java:706) > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > > (DiskPageStore.java:1218) > > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java > :228) > > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > > edPage(AbstractRequestCycleProcessor.java:448) > > > > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > > > equestCycleProcessor.java:139) > > > > at org.apache.wicket.RequestCycle.step(RequestCycle.java > :1224) > > > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java > :1330) > > > > at org.apache.wicket.RequestCycle.request( > RequestCycle.java:493) > > > > at org.apache.wicket.protocol.http.WicketFilter.doGet( > WicketFilter.java: > > > > 358) > > > > at org.apache.wicket.protocol.http.WicketServlet.doGet( > WicketServlet.jav > > > > a:124) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java > :690) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java > :803) > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:290) > > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > >
Re: clustering failover error
Hi, I did some more research (since I am intrigued by the subject) with the following results: - If you have enhanced cglib classes in your session and they are serialized and later deserialized by a different jvm (for instance after restart) you'll get a ClassNotFoundException. Since it can't find the enhanced class. - Like the explanation on the cglib site you'll need to override the writeReplace method in the object containing the cglib enhanced classes to replace them with non enhanced counterparts. Here is testcode to proof it: == Dummy Session object containing the cglib enhanced class == public class Session implements Serializable { private static final long serialVersionUID = 7348708008236878630L; private TestObject testObject; public void setTestObject(TestObject testObject) { this.testObject = testObject; } } == TestObject that will be enhanced by cglib == public class TestObject implements Serializable { private static final long serialVersionUID = -5780038574171745351L; private String text = "hallo"; public String getText() { return text; } } == The serializer == import java.io.File; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; public class Serializer { static final File TEST_FILE = new File("/tmp/Session.obj"); public static void main(String[] args) throws Exception { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(TestObject.class); enhancer.setCallbackType(MethodInterceptor.class); Object object = enhancer.createClass().newInstance(); TestObject testObject = TestObject.class.cast(object); System.out.println("Text: " + testObject.getText()); if(TEST_FILE.exists()) { System.out.println("Deleting existing file"); TEST_FILE.delete(); } Session session = new Session(); session.setTestObject(testObject); FileOutputStream fileOutputStream = new FileOutputStream(TEST_FILE); ObjectOutputStream outputStream = new ObjectOutputStream(fileOutputStream); outputStream.writeObject(session); outputStream.close(); if(TEST_FILE.exists()) { System.out.println("File created!"); } else { System.out.println("File NOT created!"); } } } == The deserializer == public class DeSerializer { public static void main(String[] args) throws Exception { if(!Serializer.TEST_FILE.exists()) { System.out.println("Test file does not exist."); return; } FileInputStream fileInputStream = new FileInputStream( Serializer.TEST_FILE); ObjectInputStream inputStream = new ObjectInputStream(fileInputStream); Object object = inputStream.readObject(); System.out.println("Object: "+ object.getClass() + " read from disk"); } } If you'll first run the Serializer and then the DeSerializer you'll see the ClassNotFoundException with a mesage something like: TestObject$$EnhancerByCGLIB$$ If you add the following method in the Session: private Object writeReplace() throws ObjectStreamException { System.out.println("in write replace"); this.testObject = new TestObject(); return this; } And run it again it will work smoothly. The object returned by writeReplace will actually be stored in the stream. This does not exactly solve your problem I guess (no StreamCorruptedException here...), but it does mean you can't have cglib enhanced classes in your session. Or was this already a known issues? Lars On Thu, Mar 27, 2008 at 12:19 PM, lars vonk <[EMAIL PROTECTED]> wrote: > Hi, > > Assuming you use CGLib: > > CGLib classes could cause this problem, it makes sense since: > > - It does not occur in a single jvm, the enhanced classes are available > there. > - It does occur when read from a different jvm *or* restarted jvm: The > enhanced classes are no longer available there. > > According to the CGLib site there is a way around this. See > http://cglib.sourceforge.net/howto.html > > CGLIB and JAVA Serialization > > > > JAVA objects can be serialized to binary streams, it is used to > > implement RMI too. Serialization needs to load class before to deserialize > > object data. It is possible there is no generated class on client or server > > for unmarshaled object, but serialization lets to replace objects in stream > > (writeReplace/readResolve contract). To add "writeReplace" method to proxy > > class declare this method in interface with exact signature specified by > > JAVA s
Re: clustering failover error
Thank you Lars, unfortunately we still haven't found any actual cglib proxies in our session. So it goes. - Scott On Thu, Mar 27, 2008 at 7:41 AM, lars vonk <[EMAIL PROTECTED]> wrote: > Hi, > > I did some more research (since I am intrigued by the subject) with the > following results: > > - If you have enhanced cglib classes in your session and they are serialized > and later deserialized by a different jvm (for instance after restart) > you'll get a ClassNotFoundException. Since it can't find the enhanced class. > - Like the explanation on the cglib site you'll need to override the > writeReplace method in the object containing the cglib enhanced classes to > replace them with non enhanced counterparts. > > Here is testcode to proof it: > == > Dummy Session object containing the cglib enhanced class > == > > public class Session implements Serializable { > private static final long serialVersionUID = 7348708008236878630L; > private TestObject testObject; > > public void setTestObject(TestObject testObject) { > this.testObject = testObject; > } > } > == > TestObject that will be enhanced by cglib > == > public class TestObject implements Serializable { > private static final long serialVersionUID = -5780038574171745351L; > private String text = "hallo"; > > public String getText() { > return text; > } > } > > > == > The serializer > == > > import java.io.File; > import java.io.FileOutputStream; > import java.io.ObjectOutputStream; > > import net.sf.cglib.proxy.Enhancer; > import net.sf.cglib.proxy.MethodInterceptor; > > public class Serializer { > > static final File TEST_FILE = new File("/tmp/Session.obj"); > > public static void main(String[] args) throws Exception { > Enhancer enhancer = new Enhancer(); > enhancer.setSuperclass(TestObject.class); > enhancer.setCallbackType(MethodInterceptor.class); > Object object = enhancer.createClass().newInstance(); > TestObject testObject = TestObject.class.cast(object); > > System.out.println("Text: " + testObject.getText()); > if(TEST_FILE.exists()) { > System.out.println("Deleting existing file"); > TEST_FILE.delete(); > } > Session session = new Session(); > session.setTestObject(testObject); > > FileOutputStream fileOutputStream = new FileOutputStream(TEST_FILE); > ObjectOutputStream outputStream = new > ObjectOutputStream(fileOutputStream); > outputStream.writeObject(session); > outputStream.close(); > > > if(TEST_FILE.exists()) { > System.out.println("File created!"); > } else { > System.out.println("File NOT created!"); > > } > } > > } > > == > The deserializer > == > public class DeSerializer { > > public static void main(String[] args) throws Exception { > if(!Serializer.TEST_FILE.exists()) { > System.out.println("Test file does not exist."); > return; > } > > FileInputStream fileInputStream = new FileInputStream( > Serializer.TEST_FILE); > ObjectInputStream inputStream = new > ObjectInputStream(fileInputStream); > Object object = inputStream.readObject(); > System.out.println("Object: "+ object.getClass() + " read from > disk"); > > } > > } > > > If you'll first run the Serializer and then the DeSerializer you'll see the > ClassNotFoundException with a mesage something like: > TestObject$$EnhancerByCGLIB$$ > > If you add the following method in the Session: > > private Object writeReplace() throws ObjectStreamException { > System.out.println("in write replace"); > this.testObject = new TestObject(); > return this; > } > > And run it again it will work smoothly. The object returned by writeReplace > will actually be stored in the stream. > > This does not exactly solve your problem I guess (no > StreamCorruptedException here...), but it does mean you can't have cglib > enhanced classes in your session. Or was this already a known issues? > > Lars > > > > On Thu, Mar 27, 2008 at 12:19 PM, lars vonk <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > Assuming you use CGLib: > > > > CGLib classes could cause this problem, it makes sense since: > > > > - It does not occur in a single jvm, the enhanced classes are available > > there. > > - It does occur when read from a different jvm *or* restarted jvm: The > > enhanced classes are no longer available there. > > > > According to the CGLib site there is a way around this. See > > http://cglib.sourceforge.net/howto.html >
Re: clustering failover error
We just discovered that if we use SecondLevelCacheSessionStore the problem goes away. From there we determined that the setting Application.get().getPageSettings().setAutomaticMultiWindowSupport(false); is the lynch pin. We still don't know why this resolves the problem. - Scott On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> wrote: > Thank you. We'll give that a try and let you know the results. > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > -igor > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > > > 4.3.0) and we get the following exception when one node fails over to > > > another node. Has anyone seen anything like this before? Any > > > suggestions/guesses? > > > > > > Thank you, > > > Scott > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > `org.apache > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > object factory > > > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > > 6) > > > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > zePage(AbstractPageStore.java:228) > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > ageStore.java:706) > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > (DiskPageStore.java:1218) > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > edPage(AbstractRequestCycleProcessor.java:448) > > > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > > equestCycleProcessor.java:139) > > > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > > > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > > > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > > > 358) > > > at > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > > > a:124) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:290) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > > erFacingClientContextFilter.java:42) > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > > > lter.java:96) > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > icationFilterChain.java:235) > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > ilterChain.java:206) > > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > > > alve.java:230) > > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > > > alve.java:175) > > > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit > > > yAssociationValve.java:179) > > > at > org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu > > > steredSessionValve.java:87) > > >
Re: clustering failover error
what else did you use if you didnt use SLCS? Because if you use the HttpSessionStore then we dont do anything with serialization.. Thats all tomcat or app container itself johan On Thu, Mar 27, 2008 at 6:01 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > We just discovered that if we use SecondLevelCacheSessionStore the > problem goes away. From there we determined that the setting > > Application.get().getPageSettings().setAutomaticMultiWindowSupport(false); > > is the lynch pin. We still don't know why this resolves the problem. > > - Scott > > > On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> > wrote: > > Thank you. We'll give that a try and let you know the results. > > > > > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg < > [EMAIL PROTECTED]> wrote: > > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > > > -igor > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> > wrote: > > > > We are trying to get clustering working with Wicket 1.3.2 (on > JBoss > > > > 4.3.0) and we get the following exception when one node fails > over to > > > > another node. Has anyone seen anything like this before? Any > > > > suggestions/guesses? > > > > > > > > Thank you, > > > > Scott > > > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object > using `org.apache > > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > object factory > > > > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > > > at org.apache.wicket.util.lang.Objects.byteArrayToObject( > Objects.java:40 > > > > 6) > > > > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > > zePage(AbstractPageStore.java:228) > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > > ageStore.java:706) > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > > (DiskPageStore.java:1218) > > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java > :228) > > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > > edPage(AbstractRequestCycleProcessor.java:448) > > > > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > > > equestCycleProcessor.java:139) > > > > at org.apache.wicket.RequestCycle.step(RequestCycle.java > :1224) > > > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java > :1330) > > > > at org.apache.wicket.RequestCycle.request( > RequestCycle.java:493) > > > > at org.apache.wicket.protocol.http.WicketFilter.doGet( > WicketFilter.java: > > > > 358) > > > > at org.apache.wicket.protocol.http.WicketServlet.doGet( > WicketServlet.jav > > > > a:124) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java > :690) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java > :803) > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:290) > > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > > > erFacingClientContextFilter.java:42) > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:235) > > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at com.vegas.ui.filter.HibernateFilter.doFilter( > HibernateFilter.java:37) > > > > > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:235) > > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter > (ReplyHeaderFi > > > > lter.java:96) > > > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:235) > > > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at org.apache.catalina.core.StandardWrapperValve.invoke >
Re: clustering failover error
So that at least eliminates the possibility that cglib is somehow involved. On Thu, Mar 27, 2008 at 5:33 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > Here's a simple example that reproduces the problem on fail-over, also > for 1.2. All we really need is to have something in the session and > we get the error. > > > > On Thu, Mar 27, 2008 at 12:18 PM, Johan Compagner <[EMAIL PROTECTED]> wrote: > > what else did you use if you didnt use SLCS? > > Because if you use the HttpSessionStore then we dont do anything with > > serialization.. > > Thats all tomcat or app container itself > > > > johan > > > > > > > > On Thu, Mar 27, 2008 at 6:01 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > > > We just discovered that if we use SecondLevelCacheSessionStore the > > > problem goes away. From there we determined that the setting > > > > > > > Application.get().getPageSettings().setAutomaticMultiWindowSupport(false); > > > > > > is the lynch pin. We still don't know why this resolves the problem. > > > > > > - Scott > > > > > > > > > On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> > > > wrote: > > > > Thank you. We'll give that a try and let you know the results. > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg < > > > [EMAIL PROTECTED]> wrote: > > > > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > > > > > > > -igor > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> > > > wrote: > > > > > > We are trying to get clustering working with Wicket 1.3.2 (on > > > JBoss > > > > > > 4.3.0) and we get the following exception when one node fails > > > over to > > > > > > another node. Has anyone seen anything like this before? Any > > > > > > suggestions/guesses? > > > > > > > > > > > > Thank you, > > > > > > Scott > > > > > > > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object > > > using `org.apache > > > > > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > > > object factory > > > > > > java.lang.RuntimeException: Could not deserialize object using > > > `org.apache.wicke > > > > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > object > > > factory > > > > > > at > org.apache.wicket.util.lang.Objects.byteArrayToObject( > > > Objects.java:40 > > > > > > 6) > > > > > > at > > > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > > > > zePage(AbstractPageStore.java:228) > > > > > > at > > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > > > > ageStore.java:706) > > > > > > at > > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > > > > (DiskPageStore.java:1218) > > > > > > at > > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java > > > :228) > > > > > > at > > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > > > > at > > > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > > > > edPage(AbstractRequestCycleProcessor.java:448) > > > > > > at > > > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > > > > > equestCycleProcessor.java:139) > > > > > > at org.apache.wicket.RequestCycle.step(RequestCycle.java > > > :1224) > > > > > > at > org.apache.wicket.RequestCycle.steps(RequestCycle.java > > > :1330) > > > > > > at org.apache.wicket.RequestCycle.request( > > > RequestCycle.java:493) > > > > > > at org.apache.wicket.protocol.http.WicketFilter.doGet( > > > WicketFilter.java: > > > > > > 358) > > > > > > at org.apache.wicket.protocol.http.WicketServlet.doGet( > > > WicketServlet.jav > > > > > > a:124) > > > > > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java > > > :690) > > > > > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java > > > :803) > > > > > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > > > icationFilterChain.java:290) > > > > > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > > > ilterChain.java:206) > > > > > > at > > > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > > > > > erFacingClientContextFilter.java:42) > > > > > >
Re: clustering failover error
Glad it works for you. Tried what you said below, but doesn't solve my problem. http://www.nabble.com/Finding-the-cause-of-an-Exception-td16088387.html#a16112402 On Thu, 2008-03-27 at 10:01 -0700, Scott Swank wrote: > We just discovered that if we use SecondLevelCacheSessionStore the > problem goes away. From there we determined that the setting > > Application.get().getPageSettings().setAutomaticMultiWindowSupport(false); > > is the lynch pin. We still don't know why this resolves the problem. > > - Scott > > > On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> wrote: > > Thank you. We'll give that a try and let you know the results. > > > > > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > > > -igor > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > > > > 4.3.0) and we get the following exception when one node fails over to > > > > another node. Has anyone seen anything like this before? Any > > > > suggestions/guesses? > > > > > > > > Thank you, > > > > Scott > > > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using > > `org.apache > > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > > object factory > > > > java.lang.RuntimeException: Could not deserialize object using > > `org.apache.wicke > > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > > factory > > > > at > > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > > > 6) > > > > at > > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > > zePage(AbstractPageStore.java:228) > > > > at > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > > ageStore.java:706) > > > > at > > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > > (DiskPageStore.java:1218) > > > > at > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > > > at > > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > > at > > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > > edPage(AbstractRequestCycleProcessor.java:448) > > > > at > > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR > > > > equestCycleProcessor.java:139) > > > > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) > > > > at > > org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) > > > > at > > org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > > > > at > > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: > > > > 358) > > > > at > > org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav > > > > a:124) > > > > at > > javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > > > > at > > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:290) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at > > com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom > > > > erFacingClientContextFilter.java:42) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:235) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at > > com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) > > > > > > > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:235) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi > > > > lter.java:96) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:235) > > > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:206) > > > > at > > org.apache.cat
Re: clustering failover error
My e-mail with attached an attached test case jar didn't go through. With the following simple application & page we get the exception on failover. WicketTestApplication.java --- package com.vegas.wicket_test; import org.apache.wicket.protocol.http.HttpSessionStore; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.session.ISessionStore; public class WicketTestApplication extends WebApplication { public WicketTestApplication() { super(); } @Override public Class getHomePage() { return TestPage.class; } @Override protected ISessionStore newSessionStore() { return new HttpSessionStore(this); } @Override protected void init() { super.init(); } } TestPage.java --- package com.vegas.wicket_test; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.model.PropertyModel; public class TestPage extends WebPage { private static final long serialVersionUID = 1L; private String stuff = ""; public TestPage() { System.err.println("HERE"); add(new Link("testLink") { private static final long serialVersionUID = 1L; @Override public void onClick() { stuff = "saved stuff"; } }); add(new Label("stuffTxt", new PropertyModel(this, "stuff"))); } public String getStuff() { return stuff; } } TestPage.html --- Click this On Thu, Mar 27, 2008 at 6:10 PM, David Leangen <[EMAIL PROTECTED]> wrote: > > Glad it works for you. > > Tried what you said below, but doesn't solve my problem. > > > > http://www.nabble.com/Finding-the-cause-of-an-Exception-td16088387.html#a16112402 > > > > > > On Thu, 2008-03-27 at 10:01 -0700, Scott Swank wrote: > > We just discovered that if we use SecondLevelCacheSessionStore the > > problem goes away. From there we determined that the setting > > > > Application.get().getPageSettings().setAutomaticMultiWindowSupport(false); > > > > is the lynch pin. We still don't know why this resolves the problem. > > > > - Scott > > > > > > On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> wrote: > > > Thank you. We'll give that a try and let you know the results. > > > > > > > > > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg <[EMAIL PROTECTED]> > wrote: > > > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > > > > > -igor > > > > > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank <[EMAIL PROTECTED]> > wrote: > > > > > We are trying to get clustering working with Wicket 1.3.2 (on JBoss > > > > > 4.3.0) and we get the following exception when one node fails > over to > > > > > another node. Has anyone seen anything like this before? Any > > > > > suggestions/guesses? > > > > > > > > > > Thank you, > > > > > Scott > > > > > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object > using `org.apache > > > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > object factory > > > > > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > > > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > > > > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > > > > 6) > > > > > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > > > zePage(AbstractPageStore.java:228) > > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > > > ageStore.java:706) > > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > > > (DiskPageStore.java:1218) > > > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > > velCachePageMap.get(SecondLevelCacheSessionStore.java:296) > > > > > at org.apache.wicket.Session.getPage(Session.java:751) > > > > > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender > > > > > edPage(AbstractRequestCycleProcessor.java:448) > > > > > at > org.apache.wicket.protocol.http.WebRequestCycleProc
Re: clustering failover error
Thats really odd. Because what is so special abot that?? Maybe our special page handling is something that upsets the normal or app server serialization. Can you add a quickstart then with this code in jira? On 3/28/08, Scott Swank <[EMAIL PROTECTED]> wrote: > My e-mail with attached an attached test case jar didn't go through. > With the following simple application & page we get the exception on > failover. > > > WicketTestApplication.java > --- > package com.vegas.wicket_test; > > import org.apache.wicket.protocol.http.HttpSessionStore; > import org.apache.wicket.protocol.http.WebApplication; > import org.apache.wicket.session.ISessionStore; > > public class WicketTestApplication extends WebApplication > { > public WicketTestApplication() > { > super(); > } > > @Override > public Class getHomePage() > { > return TestPage.class; > } > > @Override > protected ISessionStore newSessionStore() > { > return new HttpSessionStore(this); > } > > @Override > protected void init() > { > super.init(); > } > } > > > TestPage.java > --- > package com.vegas.wicket_test; > > import org.apache.wicket.markup.html.WebPage; > import org.apache.wicket.markup.html.basic.Label; > import org.apache.wicket.markup.html.link.Link; > import org.apache.wicket.model.PropertyModel; > > public class TestPage extends WebPage > { > private static final long serialVersionUID = 1L; > > private String stuff = ""; > > public TestPage() > { > System.err.println("HERE"); > > add(new Link("testLink") > { > private static final long serialVersionUID = 1L; > > @Override > public void onClick() > { > stuff = "saved stuff"; > } > > }); > add(new Label("stuffTxt", new PropertyModel(this, "stuff"))); > } > > public String getStuff() > { > return stuff; > } > } > > > > TestPage.html > --- > > > > Click this > > > > > On Thu, Mar 27, 2008 at 6:10 PM, David Leangen <[EMAIL PROTECTED]> wrote: > > > > Glad it works for you. > > > > Tried what you said below, but doesn't solve my problem. > > > > > > > http://www.nabble.com/Finding-the-cause-of-an-Exception-td16088387.html#a16112402 > > > > > > > > > > > > On Thu, 2008-03-27 at 10:01 -0700, Scott Swank wrote: > > > We just discovered that if we use SecondLevelCacheSessionStore the > > > problem goes away. From there we determined that the setting > > > > > > > Application.get().getPageSettings().setAutomaticMultiWindowSupport(false); > > > > > > is the lynch pin. We still don't know why this resolves the problem. > > > > > > - Scott > > > > > > > > > On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank <[EMAIL PROTECTED]> > wrote: > > > > Thank you. We'll give that a try and let you know the results. > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg > <[EMAIL PROTECTED]> wrote: > > > > > see WICKET-1445. upgrade wicket to trunk and try again. > > > > > > > > > > -igor > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank > <[EMAIL PROTECTED]> wrote: > > > > > > We are trying to get clustering working with Wicket 1.3.2 (on > JBoss > > > > > > 4.3.0) and we get the following exception when one node fails > over to > > > > > > another node. Has anyone seen anything like this before? Any > > > > > > suggestions/guesses? > > > > > > > > > > > > Thank you, > > > > > > Scott > > > > > > > > > > > > 15:02:17,320 ERROR [RequestCycle] Could not deserialize object > using `org.apache > > > > > > > .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object > factory > > > > > > java.lang.RuntimeException: Could not deserialize object using > `org.apache.wicke > > > > > > t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` > object factory > > > > > > at > org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 > > > > > > 6) > > > > > > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali > > > > > > zePage(AbstractPageStore.java:228) > > > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP > > > > > > ageStore.java:706) > > > > > > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage > > > > > > (DiskPageStore.java:1218) > > > > > > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe > > > > > > > velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) > > > > > > at > org.apa