You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by dm...@eiskonzept.com on 2013/10/30 19:13:48 UTC
AW: Session replication in TomEE 1.6.0-SNAPSHOT
Hi!
I have just tested replication in tomee-1.6.0-20131030.065404-219. OWB Bug seems to be fixed, but there is new one.
The First replication works perfect, but after session migration to another node I've got following exeception:
java.io.NotSerializableException: null is not serializable
at org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
at org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
at org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
at org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
at org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
at org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
at org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
at org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
at org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
at org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
After that session replication stops working at all. Unfortunately I can't reproduce the issue with my sample application. Could you give me a clue how to reproduce this in simple app?
Regards,
Dmitry Volkov.
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Dienstag, 6. August 2013 12:18
An: users@tomee.apache.org
Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
Hi,
that's an OWB issue (no link with clustering)
i'll push it over OWB list. Thanks for the report.
*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*
2013/8/6 <dm...@eiskonzept.com>
> Hi
>
> There is the sample app: https://github.com/eiskonzept/tomee
> Package the application and start two tomee instances with tomee maven
> plugin (maven profiles "node1" and "node2"). Then open /index.xhtml
> from application root.
>
> The issue can be reproduced when replicated CDI bean is intercepted by
> CDI interceptor.
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Montag, 5. August 2013 10:10
> An: users@tomee.apache.org
> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Hi
>
> can you reproduce it in a sample?
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<
> http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/8/5 <dm...@eiskonzept.com>
>
> > I have tested replication with last 1.6.0-SNAPSHOT and got following
> > exception:
> >
> > java.io.NotSerializableException:
> > org.apache.webbeans.intercept.DefaultInterceptorHandler
> > at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
> > at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> 1528)
> > at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
> > at
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java
> :1416)
> > at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > at
> > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
> > at
> >
> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExterna
> l(DeltaRequest.java:392)
> > at
> >
> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest
> .java:285)
> > at
> >
> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.jav
> a:299)
> > at
> >
> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
> 143)
> > at
> >
> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abstr
> actReplicatedMap.java:424)
> > at
> >
> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupMa
> nager.java:104)
> > at
> >
> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java
> :539)
> > at
> >
> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationVal
> ve.java:526)
> > at
> >
> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMess
> age(ReplicationValve.java:508)
> > at
> >
> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(Rep
> licationValve.java:421)
> > at
> >
> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.ja
> va:345)
> > at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :408)
> > at
> >
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp1
> 1Processor.java:1023)
> > at
> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:589)
> > at
> >
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint
> .java:312)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1110)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:603)
> > at java.lang.Thread.run(Thread.java:722)
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> > Gesendet: Freitag, 2. August 2013 16:15
> > An: users@tomee.apache.org
> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
> >
> > Hi,
> >
> > just commited sthg about it, not sure it is linked but i think so.
> >
> > *Romain Manni-Bucau*
> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > *Blog: **http://rmannibucau.wordpress.com/*<
> > http://rmannibucau.wordpress.com/>
> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > *Github: https://github.com/rmannibucau*
> >
> >
> >
> > 2013/8/2 <dm...@eiskonzept.com>
> >
> > > Hi!
> > >
> > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT and
> > > got following exception:
> > >
> > > java.io.NotSerializableException:
> > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
> > > at
> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
> > > at
> > >
> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> > 1528)
> > > at
> > >
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
> 3)
> > > at
> > >
> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
> > va
> > :1416)
> > > at
> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > > at
> > >
> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> > 1528)
> > > at
> > >
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
> 3)
> > > at
> > >
> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
> > va
> > :1416)
> > > at
> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > > at
> > >
> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> > 1528)
> > > at
> > >
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
> 3)
> > > at
> > >
> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
> > va
> > :1416)
> > > at
> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > > at
> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExter
> > na
> > l(DeltaRequest.java:392)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaReque
> > st
> > .java:285)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.j
> > av
> > a:299)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
> > 143)
> > > at
> > >
> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abs
> > tr
> > actReplicatedMap.java:424)
> > > at
> > >
> > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backup
> > Ma
> > nager.java:104)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.ja
> > va
> > :539)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationV
> > al
> > ve.java:526)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMe
> > ss
> > age(ReplicationValve.java:508)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(R
> > ep
> > licationValve.java:421)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
> > ja
> > va:345)
> > > at
> > >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja
> > va
> > :408)
> > > at
> > >
> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHtt
> > p1
> > 1Processor.java:1023)
> > > at
> > >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process
> > (A
> > bstractProtocol.java:589)
> > > at
> > >
> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoi
> > nt
> > .java:310)
> > > at
> > >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor
> > .j
> > ava:1110)
> > > at
> > >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:603)
> > > at java.lang.Thread.run(Thread.java:722)
> > >
> > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
> > >
> > > Best regards,
> > > Dmitry Volkov
> > >
> > >
> > >
> >
>
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Thanks for your test! I really appreciate it.
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> It works!
> Updating OWB has solved the issue.
>
> Great work! Thank you.
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 16:14
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Hmm
>
> OWB snapshot shouldnt be up to date.
>
> If you buidl OWB + TomEE locally nothing to do to get it up to date locally otherwise it comes a bit tricky
>
> you can try to build OWB locally and add to tomee maven plugin:
>
> <libs>
> <lib>remove:openwebbeans-impl</lib>
> <lib>org.apache.openwebbeans:openwebbeans-impl:1.2.1-SNAPSHOT</lib>
> </libs>
>
> It will remove the version from the container and add the one from maven (here you need to get the most up to date one locally since the snapshot is not up to date) Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> I am testing on latest tomee 1.6.0-SNAPSHOT from repository. There is OWB 1.2.1-SNAPSHOT in it. Is it latest version from trunk? Can I test on it? When not, how can I replace OWB in tomee starting with tomee maven plugin?
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 15:58
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> seems to work here, not sure what I missed
>>
>> can you debug on openwebbeans trunk this method
>> org.apache.webbeans.intercept.DefaultInterceptorHandler#readIntercepto
>> r line 323 ((Interceptor<?>)
>> beanManager.getPassivationCapableBean(id))
>> put a conditional breakpoint when the returned value is null and give us the interceptor info (class etc...)?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> Oh. Thank you for correcting me. :)
>>>
>>> I have commited corrections in Interceptor. Exception is still there:
>>>
>>> java.lang.NullPointerException
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:26)
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:601)
>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:601)
>>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>
>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>
>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51
>>> )
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 15:41
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> No no, it is really forbidden explicitely.
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 15:12
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> Did you notice your interceptor is scoped? -> @ApplicationScoped
>>>>
>>>> it is forbidden by the spec
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> After rebuild I've got another exception:
>>>>>
>>>>> java.lang.NullPointerException
>>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>>>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> java.lang.reflect.Method.invoke(Method.java:601)
>>>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> java.lang.reflect.Method.invoke(Method.java:601)
>>>>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>>>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>>>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>>>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>>>>
>>>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.ja
>>>>> va:117)
>>>>>
>>>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLife
>>>>> c
>>>>> ycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>>>
>>>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>>>
>>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:
>>>>> 5
>>>>> 1
>>>>> )
>>>>>
>>>>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>>>>>
>>>>> To reproduce:
>>>>> 1. Start the application in cluster. And open
>>>>> /tomee_replication-1.0/index.xhtml
>>>>> 2. Press submit button.
>>>>> 3. Stop active node.
>>>>> 4. Press submit button.
>>>>>
>>>>>
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>> Got it! A have reproduced the issue. See my test app:
>>>>>> https://github.com/eiskonzept/tomee
>>>>>>
>>>>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>>>>
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> Can be related to apache codi extensions Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>>>>> An: users@tomee.apache.org
>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>>>>>
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>> No, there is no beans which are intercepting themselves.
>>>>>>>>
>>>>>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>>>>>
>>>>>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>>>>>
>>>>>>>> There is an exception which is logged on the node to which session is replicated:
>>>>>>>>
>>>>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>>>>> java.io.EOFException
>>>>>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>>>>> An: users@tomee.apache.org
>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>
>>>>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>>>>> now Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>> PS: do you intercept yourself?
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>>> well it is normal it happens the second time since it was
>>>>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>>>>> has missing info I think.
>>>>>>>>>>
>>>>>>>>>> That said now you see which beans are creating it, do you
>>>>>>>>>> think you can reproduce it?
>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>>>>> u
>>>>>>>>>>> s
>>>>>>>>>>> p=sharing
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>
>>>>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>>>>> serializable (see last method of
>>>>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-
>>>>>>>>>>> i
>>>>>>>>>>> m
>>>>>>>>>>> p
>>>>>>>>>>> l
>>>>>>>>>>> /
>>>>>>>>>>> s
>>>>>>>>>>> r
>>>>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>>>>> java)
>>>>>>>>>>>
>>>>>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>>>>>
>>>>>>>>>>> can you try it?
>>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>>>>> Hi
>>>>>>>>>>>>
>>>>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>>>>
>>>>>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>>>>
>>>>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>>
>>>>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>>>>
>>>>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>>> *Blog:
>>>>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>>>>> com
>>>>>>>>>>>>> />
>>>>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>> > Hi
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > There is the sample app:
>>>>>>>>>>>>> > https://github.com/eiskonzept/tomee
>>>>>>>>>>>>> > Package the application and start two tomee instances
>>>>>>>>>>>>> > with tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > Hi
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and
>>>>>>>>>>>>> > > got following
>>>>>>>>>>>>> > > exception:
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > 1528)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>>>>> > u
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > S
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > m.j
>>>>>>>>>>>>> > ava
>>>>>>>>>>>>> > :1416)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>>> > w
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > E
>>>>>>>>>>>>> > xte
>>>>>>>>>>>>> > rna
>>>>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal
>>>>>>>>>>>>> > (
>>>>>>>>>>>>> > D
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > R
>>>>>>>>>>>>> > equ
>>>>>>>>>>>>> > est
>>>>>>>>>>>>> > .java:285)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>>>>> > jav
>>>>>>>>>>>>> > a:299)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>>> > 143)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.re
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > (Ab
>>>>>>>>>>>>> > str
>>>>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompl
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > d
>>>>>>>>>>>>> > (
>>>>>>>>>>>>> > B
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > cku
>>>>>>>>>>>>> > pMa
>>>>>>>>>>>>> > nager.java:104)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicat
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > V
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > v
>>>>>>>>>>>>> > e.j
>>>>>>>>>>>>> > ava
>>>>>>>>>>>>> > :539)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(R
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > ion
>>>>>>>>>>>>> > Val
>>>>>>>>>>>>> > ve.java:526)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRe
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > onM
>>>>>>>>>>>>> > ess
>>>>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicati
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > M
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > s
>>>>>>>>>>>>> > s
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > ge(
>>>>>>>>>>>>> > Rep
>>>>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replic
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > V
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > lve
>>>>>>>>>>>>> > .ja
>>>>>>>>>>>>> > va:345)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(Coyot
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > A
>>>>>>>>>>>>> > d
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > r.j
>>>>>>>>>>>>> > ava
>>>>>>>>>>>>> > :408)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(
>>>>>>>>>>>>> > A
>>>>>>>>>>>>> > b
>>>>>>>>>>>>> > s
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > tHt
>>>>>>>>>>>>> > tp1
>>>>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > ces
>>>>>>>>>>>>> > s(A
>>>>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.ru
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > (
>>>>>>>>>>>>> > J
>>>>>>>>>>>>> > I
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > E
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > dpo
>>>>>>>>>>>>> > int
>>>>>>>>>>>>> > .java:312)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadP
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > E
>>>>>>>>>>>>> > x
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > uto
>>>>>>>>>>>>> > r.j
>>>>>>>>>>>>> > ava:1110)
>>>>>>>>>>>>> > > at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>>> > java:603)
>>>>>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>>>>>> > > Betreff: Re: Session replication in TomEE
>>>>>>>>>>>>> > > 1.6.0-SNAPSHOT
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > Hi,
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>>>>> > > *Twitter: @rmannibucau
>>>>>>>>>>>>> > > <https://twitter.com/rmannibucau>*
>>>>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > > Hi!
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>>> > 149
>>>>>>>>>>>>> > 3)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > S
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > eam
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>>> > 149
>>>>>>>>>>>>> > 3)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > S
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > eam
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>>> > 149
>>>>>>>>>>>>> > 3)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > S
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > eam
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>>> > > w
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > eEx
>>>>>>>>>>>>> > > ter
>>>>>>>>>>>>> > > na
>>>>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExtern
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > D
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > aRe
>>>>>>>>>>>>> > > que
>>>>>>>>>>>>> > > st
>>>>>>>>>>>>> > > .java:285)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(D
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > R
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > q
>>>>>>>>>>>>> > > ues
>>>>>>>>>>>>> > > t.j
>>>>>>>>>>>>> > > av
>>>>>>>>>>>>> > > a:299)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>>> > > 143)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > c
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > te(
>>>>>>>>>>>>> > > Abs
>>>>>>>>>>>>> > > tr
>>>>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCom
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > d
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > Bac
>>>>>>>>>>>>> > > kup
>>>>>>>>>>>>> > > Ma
>>>>>>>>>>>>> > > nager.java:104)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replic
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > n
>>>>>>>>>>>>> > > V
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > lve
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :539)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > R
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > c
>>>>>>>>>>>>> > > ati
>>>>>>>>>>>>> > > onV
>>>>>>>>>>>>> > > al
>>>>>>>>>>>>> > > ve.java:526)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSession
>>>>>>>>>>>>> > > R
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > c
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > tio
>>>>>>>>>>>>> > > nMe
>>>>>>>>>>>>> > > ss
>>>>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplica
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > n
>>>>>>>>>>>>> > > M
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > s
>>>>>>>>>>>>> > > sag
>>>>>>>>>>>>> > > e(R
>>>>>>>>>>>>> > > ep
>>>>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>>>>> > > ja
>>>>>>>>>>>>> > > va:345)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coy
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > A
>>>>>>>>>>>>> > > d
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > ter
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :408)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.proces
>>>>>>>>>>>>> > > s
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > A
>>>>>>>>>>>>> > > b
>>>>>>>>>>>>> > > s
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > act
>>>>>>>>>>>>> > > Htt
>>>>>>>>>>>>> > > p1
>>>>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > roc
>>>>>>>>>>>>> > > ess
>>>>>>>>>>>>> > > (A
>>>>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > n
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > J
>>>>>>>>>>>>> > > I
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > End
>>>>>>>>>>>>> > > poi
>>>>>>>>>>>>> > > nt
>>>>>>>>>>>>> > > .java:310)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(Threa
>>>>>>>>>>>>> > > d
>>>>>>>>>>>>> > > P
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > E
>>>>>>>>>>>>> > > x
>>>>>>>>>>>>> > > ecu
>>>>>>>>>>>>> > > tor
>>>>>>>>>>>>> > > .j
>>>>>>>>>>>>> > > ava:1110)
>>>>>>>>>>>>> > > > at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>>> > > java:603)
>>>>>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > Best regards,
>>>>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
It works!
Updating OWB has solved the issue.
Great work! Thank you.
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 16:14
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Hmm
OWB snapshot shouldnt be up to date.
If you buidl OWB + TomEE locally nothing to do to get it up to date locally otherwise it comes a bit tricky
you can try to build OWB locally and add to tomee maven plugin:
<libs>
<lib>remove:openwebbeans-impl</lib>
<lib>org.apache.openwebbeans:openwebbeans-impl:1.2.1-SNAPSHOT</lib>
</libs>
It will remove the version from the container and add the one from maven (here you need to get the most up to date one locally since the snapshot is not up to date) Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> I am testing on latest tomee 1.6.0-SNAPSHOT from repository. There is OWB 1.2.1-SNAPSHOT in it. Is it latest version from trunk? Can I test on it? When not, how can I replace OWB in tomee starting with tomee maven plugin?
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 15:58
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> seems to work here, not sure what I missed
>
> can you debug on openwebbeans trunk this method
> org.apache.webbeans.intercept.DefaultInterceptorHandler#readIntercepto
> r line 323 ((Interceptor<?>)
> beanManager.getPassivationCapableBean(id))
> put a conditional breakpoint when the returned value is null and give us the interceptor info (class etc...)?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> Oh. Thank you for correcting me. :)
>>
>> I have commited corrections in Interceptor. Exception is still there:
>>
>> java.lang.NullPointerException
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:26)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>
>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51
>> )
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 15:41
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> No no, it is really forbidden explicitely.
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 15:12
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> Did you notice your interceptor is scoped? -> @ApplicationScoped
>>>
>>> it is forbidden by the spec
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> After rebuild I've got another exception:
>>>>
>>>> java.lang.NullPointerException
>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> java.lang.reflect.Method.invoke(Method.java:601)
>>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> java.lang.reflect.Method.invoke(Method.java:601)
>>>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>>>
>>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.ja
>>>> va:117)
>>>>
>>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLife
>>>> c
>>>> ycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>>
>>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>>
>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:
>>>> 5
>>>> 1
>>>> )
>>>>
>>>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>>>>
>>>> To reproduce:
>>>> 1. Start the application in cluster. And open
>>>> /tomee_replication-1.0/index.xhtml
>>>> 2. Press submit button.
>>>> 3. Stop active node.
>>>> 4. Press submit button.
>>>>
>>>>
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> Got it! A have reproduced the issue. See my test app:
>>>>> https://github.com/eiskonzept/tomee
>>>>>
>>>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>>>
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> Can be related to apache codi extensions Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>>>>
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>> No, there is no beans which are intercepting themselves.
>>>>>>>
>>>>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>>>>
>>>>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>>>>
>>>>>>> There is an exception which is logged on the node to which session is replicated:
>>>>>>>
>>>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>>>> java.io.EOFException
>>>>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>>>> An: users@tomee.apache.org
>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>>>> now Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>> PS: do you intercept yourself?
>>>>>>>> Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>> well it is normal it happens the second time since it was
>>>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>>>> has missing info I think.
>>>>>>>>>
>>>>>>>>> That said now you see which beans are creating it, do you
>>>>>>>>> think you can reproduce it?
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>>>> u
>>>>>>>>>> s
>>>>>>>>>> p=sharing
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>
>>>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>>>> serializable (see last method of
>>>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-
>>>>>>>>>> i
>>>>>>>>>> m
>>>>>>>>>> p
>>>>>>>>>> l
>>>>>>>>>> /
>>>>>>>>>> s
>>>>>>>>>> r
>>>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>>>> java)
>>>>>>>>>>
>>>>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>>>>
>>>>>>>>>> can you try it?
>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>>>
>>>>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>>>>
>>>>>>>>>>>> Hi!
>>>>>>>>>>>>
>>>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>>>
>>>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>
>>>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>>>
>>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>>>
>>>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>>>
>>>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>> *Blog:
>>>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>>>> com
>>>>>>>>>>>> />
>>>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>>>>
>>>>>>>>>>>> > Hi
>>>>>>>>>>>> >
>>>>>>>>>>>> > There is the sample app:
>>>>>>>>>>>> > https://github.com/eiskonzept/tomee
>>>>>>>>>>>> > Package the application and start two tomee instances
>>>>>>>>>>>> > with tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>>>> >
>>>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>> >
>>>>>>>>>>>> > Hi
>>>>>>>>>>>> >
>>>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>>>> >
>>>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>>>>> >
>>>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and
>>>>>>>>>>>> > > got following
>>>>>>>>>>>> > > exception:
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > 1528)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>>>> > u
>>>>>>>>>>>> > t
>>>>>>>>>>>> > S
>>>>>>>>>>>> > t
>>>>>>>>>>>> > r
>>>>>>>>>>>> > e
>>>>>>>>>>>> > a
>>>>>>>>>>>> > m.j
>>>>>>>>>>>> > ava
>>>>>>>>>>>> > :1416)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>> > w
>>>>>>>>>>>> > r
>>>>>>>>>>>> > i
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > E
>>>>>>>>>>>> > xte
>>>>>>>>>>>> > rna
>>>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal
>>>>>>>>>>>> > (
>>>>>>>>>>>> > D
>>>>>>>>>>>> > e
>>>>>>>>>>>> > l
>>>>>>>>>>>> > t
>>>>>>>>>>>> > a
>>>>>>>>>>>> > R
>>>>>>>>>>>> > equ
>>>>>>>>>>>> > est
>>>>>>>>>>>> > .java:285)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>>>> > jav
>>>>>>>>>>>> > a:299)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>> > 143)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.re
>>>>>>>>>>>> > p
>>>>>>>>>>>> > l
>>>>>>>>>>>> > i
>>>>>>>>>>>> > c
>>>>>>>>>>>> > a
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > (Ab
>>>>>>>>>>>> > str
>>>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompl
>>>>>>>>>>>> > e
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > d
>>>>>>>>>>>> > (
>>>>>>>>>>>> > B
>>>>>>>>>>>> > a
>>>>>>>>>>>> > cku
>>>>>>>>>>>> > pMa
>>>>>>>>>>>> > nager.java:104)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicat
>>>>>>>>>>>> > i
>>>>>>>>>>>> > o
>>>>>>>>>>>> > n
>>>>>>>>>>>> > V
>>>>>>>>>>>> > a
>>>>>>>>>>>> > l
>>>>>>>>>>>> > v
>>>>>>>>>>>> > e.j
>>>>>>>>>>>> > ava
>>>>>>>>>>>> > :539)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(R
>>>>>>>>>>>> > e
>>>>>>>>>>>> > p
>>>>>>>>>>>> > l
>>>>>>>>>>>> > i
>>>>>>>>>>>> > c
>>>>>>>>>>>> > a
>>>>>>>>>>>> > t
>>>>>>>>>>>> > ion
>>>>>>>>>>>> > Val
>>>>>>>>>>>> > ve.java:526)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRe
>>>>>>>>>>>> > p
>>>>>>>>>>>> > l
>>>>>>>>>>>> > i
>>>>>>>>>>>> > c
>>>>>>>>>>>> > a
>>>>>>>>>>>> > t
>>>>>>>>>>>> > i
>>>>>>>>>>>> > onM
>>>>>>>>>>>> > ess
>>>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicati
>>>>>>>>>>>> > o
>>>>>>>>>>>> > n
>>>>>>>>>>>> > M
>>>>>>>>>>>> > e
>>>>>>>>>>>> > s
>>>>>>>>>>>> > s
>>>>>>>>>>>> > a
>>>>>>>>>>>> > ge(
>>>>>>>>>>>> > Rep
>>>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replic
>>>>>>>>>>>> > a
>>>>>>>>>>>> > t
>>>>>>>>>>>> > i
>>>>>>>>>>>> > o
>>>>>>>>>>>> > n
>>>>>>>>>>>> > V
>>>>>>>>>>>> > a
>>>>>>>>>>>> > lve
>>>>>>>>>>>> > .ja
>>>>>>>>>>>> > va:345)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(Coyot
>>>>>>>>>>>> > e
>>>>>>>>>>>> > A
>>>>>>>>>>>> > d
>>>>>>>>>>>> > a
>>>>>>>>>>>> > p
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > r.j
>>>>>>>>>>>> > ava
>>>>>>>>>>>> > :408)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(
>>>>>>>>>>>> > A
>>>>>>>>>>>> > b
>>>>>>>>>>>> > s
>>>>>>>>>>>> > t
>>>>>>>>>>>> > r
>>>>>>>>>>>> > a
>>>>>>>>>>>> > c
>>>>>>>>>>>> > tHt
>>>>>>>>>>>> > tp1
>>>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>> > p
>>>>>>>>>>>> > r
>>>>>>>>>>>> > o
>>>>>>>>>>>> > ces
>>>>>>>>>>>> > s(A
>>>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.ru
>>>>>>>>>>>> > n
>>>>>>>>>>>> > (
>>>>>>>>>>>> > J
>>>>>>>>>>>> > I
>>>>>>>>>>>> > o
>>>>>>>>>>>> > E
>>>>>>>>>>>> > n
>>>>>>>>>>>> > dpo
>>>>>>>>>>>> > int
>>>>>>>>>>>> > .java:312)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadP
>>>>>>>>>>>> > o
>>>>>>>>>>>> > o
>>>>>>>>>>>> > l
>>>>>>>>>>>> > E
>>>>>>>>>>>> > x
>>>>>>>>>>>> > e
>>>>>>>>>>>> > c
>>>>>>>>>>>> > uto
>>>>>>>>>>>> > r.j
>>>>>>>>>>>> > ava:1110)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>> > java:603)
>>>>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>>>>> > > Betreff: Re: Session replication in TomEE
>>>>>>>>>>>> > > 1.6.0-SNAPSHOT
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > Hi,
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>>>> > > *Twitter: @rmannibucau
>>>>>>>>>>>> > > <https://twitter.com/rmannibucau>*
>>>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>> > >
>>>>>>>>>>>> > >
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > > Hi!
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>> > 149
>>>>>>>>>>>> > 3)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > S
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > eam
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>> > 149
>>>>>>>>>>>> > 3)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > S
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > eam
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>> > 149
>>>>>>>>>>>> > 3)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > S
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > eam
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>> > > w
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > eEx
>>>>>>>>>>>> > > ter
>>>>>>>>>>>> > > na
>>>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExtern
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > D
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > aRe
>>>>>>>>>>>> > > que
>>>>>>>>>>>> > > st
>>>>>>>>>>>> > > .java:285)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(D
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > R
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > q
>>>>>>>>>>>> > > ues
>>>>>>>>>>>> > > t.j
>>>>>>>>>>>> > > av
>>>>>>>>>>>> > > a:299)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>> > > 143)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > c
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > te(
>>>>>>>>>>>> > > Abs
>>>>>>>>>>>> > > tr
>>>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCom
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > d
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > Bac
>>>>>>>>>>>> > > kup
>>>>>>>>>>>> > > Ma
>>>>>>>>>>>> > > nager.java:104)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replic
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > n
>>>>>>>>>>>> > > V
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > lve
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :539)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > R
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > c
>>>>>>>>>>>> > > ati
>>>>>>>>>>>> > > onV
>>>>>>>>>>>> > > al
>>>>>>>>>>>> > > ve.java:526)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSession
>>>>>>>>>>>> > > R
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > c
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > tio
>>>>>>>>>>>> > > nMe
>>>>>>>>>>>> > > ss
>>>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplica
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > n
>>>>>>>>>>>> > > M
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > s
>>>>>>>>>>>> > > sag
>>>>>>>>>>>> > > e(R
>>>>>>>>>>>> > > ep
>>>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>>>> > > ja
>>>>>>>>>>>> > > va:345)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coy
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > A
>>>>>>>>>>>> > > d
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > ter
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :408)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.proces
>>>>>>>>>>>> > > s
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > A
>>>>>>>>>>>> > > b
>>>>>>>>>>>> > > s
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > act
>>>>>>>>>>>> > > Htt
>>>>>>>>>>>> > > p1
>>>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > roc
>>>>>>>>>>>> > > ess
>>>>>>>>>>>> > > (A
>>>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > n
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > J
>>>>>>>>>>>> > > I
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > End
>>>>>>>>>>>> > > poi
>>>>>>>>>>>> > > nt
>>>>>>>>>>>> > > .java:310)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(Threa
>>>>>>>>>>>> > > d
>>>>>>>>>>>> > > P
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > E
>>>>>>>>>>>> > > x
>>>>>>>>>>>> > > ecu
>>>>>>>>>>>> > > tor
>>>>>>>>>>>> > > .j
>>>>>>>>>>>> > > ava:1110)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>> > > java:603)
>>>>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > Best regards,
>>>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > >
>>>>>>>>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hmm
OWB snapshot shouldnt be up to date.
If you buidl OWB + TomEE locally nothing to do to get it up to date
locally otherwise it comes a bit tricky
you can try to build OWB locally and add to tomee maven plugin:
<libs>
<lib>remove:openwebbeans-impl</lib>
<lib>org.apache.openwebbeans:openwebbeans-impl:1.2.1-SNAPSHOT</lib>
</libs>
It will remove the version from the container and add the one from
maven (here you need to get the most up to date one locally since the
snapshot is not up to date)
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> I am testing on latest tomee 1.6.0-SNAPSHOT from repository. There is OWB 1.2.1-SNAPSHOT in it. Is it latest version from trunk? Can I test on it? When not, how can I replace OWB in tomee starting with tomee maven plugin?
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 15:58
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> seems to work here, not sure what I missed
>
> can you debug on openwebbeans trunk this method org.apache.webbeans.intercept.DefaultInterceptorHandler#readInterceptor
> line 323 ((Interceptor<?>) beanManager.getPassivationCapableBean(id))
> put a conditional breakpoint when the returned value is null and give us the interceptor info (class etc...)?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> Oh. Thank you for correcting me. :)
>>
>> I have commited corrections in Interceptor. Exception is still there:
>>
>> java.lang.NullPointerException
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:26)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 15:41
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> No no, it is really forbidden explicitely.
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 15:12
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> Did you notice your interceptor is scoped? -> @ApplicationScoped
>>>
>>> it is forbidden by the spec
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> After rebuild I've got another exception:
>>>>
>>>> java.lang.NullPointerException
>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> java.lang.reflect.Method.invoke(Method.java:601)
>>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> java.lang.reflect.Method.invoke(Method.java:601)
>>>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>>>>
>>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifec
>>>> ycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>>
>>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>>
>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:5
>>>> 1
>>>> )
>>>>
>>>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>>>>
>>>> To reproduce:
>>>> 1. Start the application in cluster. And open
>>>> /tomee_replication-1.0/index.xhtml
>>>> 2. Press submit button.
>>>> 3. Stop active node.
>>>> 4. Press submit button.
>>>>
>>>>
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> Got it! A have reproduced the issue. See my test app:
>>>>> https://github.com/eiskonzept/tomee
>>>>>
>>>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>>>
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> Can be related to apache codi extensions Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>>>>
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>> No, there is no beans which are intercepting themselves.
>>>>>>>
>>>>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>>>>
>>>>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>>>>
>>>>>>> There is an exception which is logged on the node to which session is replicated:
>>>>>>>
>>>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>>>> java.io.EOFException
>>>>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>>>> An: users@tomee.apache.org
>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>>>> now Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>> PS: do you intercept yourself?
>>>>>>>> Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>> well it is normal it happens the second time since it was
>>>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>>>> has missing info I think.
>>>>>>>>>
>>>>>>>>> That said now you see which beans are creating it, do you think
>>>>>>>>> you can reproduce it?
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>>>> u
>>>>>>>>>> s
>>>>>>>>>> p=sharing
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>
>>>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>>>> serializable (see last method of
>>>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-i
>>>>>>>>>> m
>>>>>>>>>> p
>>>>>>>>>> l
>>>>>>>>>> /
>>>>>>>>>> s
>>>>>>>>>> r
>>>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>>>> java)
>>>>>>>>>>
>>>>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>>>>
>>>>>>>>>> can you try it?
>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>>>
>>>>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>>>>
>>>>>>>>>>>> Hi!
>>>>>>>>>>>>
>>>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>>>
>>>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>
>>>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>>>
>>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>>>
>>>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>>>
>>>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>> *Blog:
>>>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>>>> com
>>>>>>>>>>>> />
>>>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>>>>
>>>>>>>>>>>> > Hi
>>>>>>>>>>>> >
>>>>>>>>>>>> > There is the sample app:
>>>>>>>>>>>> > https://github.com/eiskonzept/tomee
>>>>>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>>>> >
>>>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>> >
>>>>>>>>>>>> > Hi
>>>>>>>>>>>> >
>>>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>>>> >
>>>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>>>>> >
>>>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and
>>>>>>>>>>>> > > got following
>>>>>>>>>>>> > > exception:
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > 1528)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>>>>> > t
>>>>>>>>>>>> > S
>>>>>>>>>>>> > t
>>>>>>>>>>>> > r
>>>>>>>>>>>> > e
>>>>>>>>>>>> > a
>>>>>>>>>>>> > m.j
>>>>>>>>>>>> > ava
>>>>>>>>>>>> > :1416)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>> > w
>>>>>>>>>>>> > r
>>>>>>>>>>>> > i
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > E
>>>>>>>>>>>> > xte
>>>>>>>>>>>> > rna
>>>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(
>>>>>>>>>>>> > D
>>>>>>>>>>>> > e
>>>>>>>>>>>> > l
>>>>>>>>>>>> > t
>>>>>>>>>>>> > a
>>>>>>>>>>>> > R
>>>>>>>>>>>> > equ
>>>>>>>>>>>> > est
>>>>>>>>>>>> > .java:285)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>>>> > jav
>>>>>>>>>>>> > a:299)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>> > 143)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.rep
>>>>>>>>>>>> > l
>>>>>>>>>>>> > i
>>>>>>>>>>>> > c
>>>>>>>>>>>> > a
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > (Ab
>>>>>>>>>>>> > str
>>>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestComple
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > d
>>>>>>>>>>>> > (
>>>>>>>>>>>> > B
>>>>>>>>>>>> > a
>>>>>>>>>>>> > cku
>>>>>>>>>>>> > pMa
>>>>>>>>>>>> > nager.java:104)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicati
>>>>>>>>>>>> > o
>>>>>>>>>>>> > n
>>>>>>>>>>>> > V
>>>>>>>>>>>> > a
>>>>>>>>>>>> > l
>>>>>>>>>>>> > v
>>>>>>>>>>>> > e.j
>>>>>>>>>>>> > ava
>>>>>>>>>>>> > :539)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Re
>>>>>>>>>>>> > p
>>>>>>>>>>>> > l
>>>>>>>>>>>> > i
>>>>>>>>>>>> > c
>>>>>>>>>>>> > a
>>>>>>>>>>>> > t
>>>>>>>>>>>> > ion
>>>>>>>>>>>> > Val
>>>>>>>>>>>> > ve.java:526)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRep
>>>>>>>>>>>> > l
>>>>>>>>>>>> > i
>>>>>>>>>>>> > c
>>>>>>>>>>>> > a
>>>>>>>>>>>> > t
>>>>>>>>>>>> > i
>>>>>>>>>>>> > onM
>>>>>>>>>>>> > ess
>>>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicatio
>>>>>>>>>>>> > n
>>>>>>>>>>>> > M
>>>>>>>>>>>> > e
>>>>>>>>>>>> > s
>>>>>>>>>>>> > s
>>>>>>>>>>>> > a
>>>>>>>>>>>> > ge(
>>>>>>>>>>>> > Rep
>>>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replica
>>>>>>>>>>>> > t
>>>>>>>>>>>> > i
>>>>>>>>>>>> > o
>>>>>>>>>>>> > n
>>>>>>>>>>>> > V
>>>>>>>>>>>> > a
>>>>>>>>>>>> > lve
>>>>>>>>>>>> > .ja
>>>>>>>>>>>> > va:345)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(Coyote
>>>>>>>>>>>> > A
>>>>>>>>>>>> > d
>>>>>>>>>>>> > a
>>>>>>>>>>>> > p
>>>>>>>>>>>> > t
>>>>>>>>>>>> > e
>>>>>>>>>>>> > r.j
>>>>>>>>>>>> > ava
>>>>>>>>>>>> > :408)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(A
>>>>>>>>>>>> > b
>>>>>>>>>>>> > s
>>>>>>>>>>>> > t
>>>>>>>>>>>> > r
>>>>>>>>>>>> > a
>>>>>>>>>>>> > c
>>>>>>>>>>>> > tHt
>>>>>>>>>>>> > tp1
>>>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>> > p
>>>>>>>>>>>> > r
>>>>>>>>>>>> > o
>>>>>>>>>>>> > ces
>>>>>>>>>>>> > s(A
>>>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run
>>>>>>>>>>>> > (
>>>>>>>>>>>> > J
>>>>>>>>>>>> > I
>>>>>>>>>>>> > o
>>>>>>>>>>>> > E
>>>>>>>>>>>> > n
>>>>>>>>>>>> > dpo
>>>>>>>>>>>> > int
>>>>>>>>>>>> > .java:312)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPo
>>>>>>>>>>>> > o
>>>>>>>>>>>> > l
>>>>>>>>>>>> > E
>>>>>>>>>>>> > x
>>>>>>>>>>>> > e
>>>>>>>>>>>> > c
>>>>>>>>>>>> > uto
>>>>>>>>>>>> > r.j
>>>>>>>>>>>> > ava:1110)
>>>>>>>>>>>> > > at
>>>>>>>>>>>> > >
>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>> > java:603)
>>>>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > Hi,
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>>>> > > *Twitter: @rmannibucau
>>>>>>>>>>>> > > <https://twitter.com/rmannibucau>*
>>>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>> > >
>>>>>>>>>>>> > >
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > > Hi!
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>> > 149
>>>>>>>>>>>> > 3)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOut
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > S
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > eam
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>> > 149
>>>>>>>>>>>> > 3)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOut
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > S
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > eam
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>> > 149
>>>>>>>>>>>> > 3)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOut
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > S
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > eam
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>> > > w
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > eEx
>>>>>>>>>>>> > > ter
>>>>>>>>>>>> > > na
>>>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExterna
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > D
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > aRe
>>>>>>>>>>>> > > que
>>>>>>>>>>>> > > st
>>>>>>>>>>>> > > .java:285)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(De
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > R
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > q
>>>>>>>>>>>> > > ues
>>>>>>>>>>>> > > t.j
>>>>>>>>>>>> > > av
>>>>>>>>>>>> > > a:299)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>> > > 143)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.r
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > c
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > te(
>>>>>>>>>>>> > > Abs
>>>>>>>>>>>> > > tr
>>>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComp
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > d
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > Bac
>>>>>>>>>>>> > > kup
>>>>>>>>>>>> > > Ma
>>>>>>>>>>>> > > nager.java:104)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replica
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > n
>>>>>>>>>>>> > > V
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > lve
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :539)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(
>>>>>>>>>>>> > > R
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > c
>>>>>>>>>>>> > > ati
>>>>>>>>>>>> > > onV
>>>>>>>>>>>> > > al
>>>>>>>>>>>> > > ve.java:526)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionR
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > c
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > tio
>>>>>>>>>>>> > > nMe
>>>>>>>>>>>> > > ss
>>>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicat
>>>>>>>>>>>> > > i
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > n
>>>>>>>>>>>> > > M
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > s
>>>>>>>>>>>> > > sag
>>>>>>>>>>>> > > e(R
>>>>>>>>>>>> > > ep
>>>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>>>> > > ja
>>>>>>>>>>>> > > va:345)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coyo
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > e
>>>>>>>>>>>> > > A
>>>>>>>>>>>> > > d
>>>>>>>>>>>> > > a
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > ter
>>>>>>>>>>>> > > .ja
>>>>>>>>>>>> > > va
>>>>>>>>>>>> > > :408)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > A
>>>>>>>>>>>> > > b
>>>>>>>>>>>> > > s
>>>>>>>>>>>> > > t
>>>>>>>>>>>> > > r
>>>>>>>>>>>> > > act
>>>>>>>>>>>> > > Htt
>>>>>>>>>>>> > > p1
>>>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>> > > p
>>>>>>>>>>>> > > roc
>>>>>>>>>>>> > > ess
>>>>>>>>>>>> > > (A
>>>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.r
>>>>>>>>>>>> > > u
>>>>>>>>>>>> > > n
>>>>>>>>>>>> > > (
>>>>>>>>>>>> > > J
>>>>>>>>>>>> > > I
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > End
>>>>>>>>>>>> > > poi
>>>>>>>>>>>> > > nt
>>>>>>>>>>>> > > .java:310)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(Thread
>>>>>>>>>>>> > > P
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > o
>>>>>>>>>>>> > > l
>>>>>>>>>>>> > > E
>>>>>>>>>>>> > > x
>>>>>>>>>>>> > > ecu
>>>>>>>>>>>> > > tor
>>>>>>>>>>>> > > .j
>>>>>>>>>>>> > > ava:1110)
>>>>>>>>>>>> > > > at
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>> > > java:603)
>>>>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > > Best regards,
>>>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > > >
>>>>>>>>>>>> > >
>>>>>>>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
I am testing on latest tomee 1.6.0-SNAPSHOT from repository. There is OWB 1.2.1-SNAPSHOT in it. Is it latest version from trunk? Can I test on it? When not, how can I replace OWB in tomee starting with tomee maven plugin?
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 15:58
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
seems to work here, not sure what I missed
can you debug on openwebbeans trunk this method org.apache.webbeans.intercept.DefaultInterceptorHandler#readInterceptor
line 323 ((Interceptor<?>) beanManager.getPassivationCapableBean(id))
put a conditional breakpoint when the returned value is null and give us the interceptor info (class etc...)?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> Oh. Thank you for correcting me. :)
>
> I have commited corrections in Interceptor. Exception is still there:
>
> java.lang.NullPointerException
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:26)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> javax.faces.component.UICommand.broadcast(UICommand.java:120)
> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 15:41
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> No no, it is really forbidden explicitely.
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 15:12
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Did you notice your interceptor is scoped? -> @ApplicationScoped
>>
>> it is forbidden by the spec
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> After rebuild I've got another exception:
>>>
>>> java.lang.NullPointerException
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:601)
>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:601)
>>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>>>
>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifec
>>> ycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>
>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>
>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:5
>>> 1
>>> )
>>>
>>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>>>
>>> To reproduce:
>>> 1. Start the application in cluster. And open
>>> /tomee_replication-1.0/index.xhtml
>>> 2. Press submit button.
>>> 3. Stop active node.
>>> 4. Press submit button.
>>>
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> Got it! A have reproduced the issue. See my test app:
>>>> https://github.com/eiskonzept/tomee
>>>>
>>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>>
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> Can be related to apache codi extensions Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>>>
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>> No, there is no beans which are intercepting themselves.
>>>>>>
>>>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>>>
>>>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>>>
>>>>>> There is an exception which is logged on the node to which session is replicated:
>>>>>>
>>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>>> java.io.EOFException
>>>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>>> now Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>> PS: do you intercept yourself?
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>> well it is normal it happens the second time since it was
>>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>>> has missing info I think.
>>>>>>>>
>>>>>>>> That said now you see which beans are creating it, do you think
>>>>>>>> you can reproduce it?
>>>>>>>> Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>>> u
>>>>>>>>> s
>>>>>>>>> p=sharing
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>
>>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>>> serializable (see last method of
>>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-i
>>>>>>>>> m
>>>>>>>>> p
>>>>>>>>> l
>>>>>>>>> /
>>>>>>>>> s
>>>>>>>>> r
>>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>>> java)
>>>>>>>>>
>>>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>>>
>>>>>>>>> can you try it?
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>>
>>>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>>>
>>>>>>>>>>> Hi!
>>>>>>>>>>>
>>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>>
>>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>>> at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>>> at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>
>>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>>
>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>>
>>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>>
>>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>> *Blog:
>>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>>> com
>>>>>>>>>>> />
>>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>>>
>>>>>>>>>>> > Hi
>>>>>>>>>>> >
>>>>>>>>>>> > There is the sample app:
>>>>>>>>>>> > https://github.com/eiskonzept/tomee
>>>>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>>> >
>>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>> >
>>>>>>>>>>> > Hi
>>>>>>>>>>> >
>>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>>> >
>>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>>>> >
>>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and
>>>>>>>>>>> > > got following
>>>>>>>>>>> > > exception:
>>>>>>>>>>> > >
>>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>>> > > at
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > 1528)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>>>> > t
>>>>>>>>>>> > S
>>>>>>>>>>> > t
>>>>>>>>>>> > r
>>>>>>>>>>> > e
>>>>>>>>>>> > a
>>>>>>>>>>> > m.j
>>>>>>>>>>> > ava
>>>>>>>>>>> > :1416)
>>>>>>>>>>> > > at
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > at
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>> > w
>>>>>>>>>>> > r
>>>>>>>>>>> > i
>>>>>>>>>>> > t
>>>>>>>>>>> > e
>>>>>>>>>>> > E
>>>>>>>>>>> > xte
>>>>>>>>>>> > rna
>>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(
>>>>>>>>>>> > D
>>>>>>>>>>> > e
>>>>>>>>>>> > l
>>>>>>>>>>> > t
>>>>>>>>>>> > a
>>>>>>>>>>> > R
>>>>>>>>>>> > equ
>>>>>>>>>>> > est
>>>>>>>>>>> > .java:285)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>>> > jav
>>>>>>>>>>> > a:299)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>> > 143)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.rep
>>>>>>>>>>> > l
>>>>>>>>>>> > i
>>>>>>>>>>> > c
>>>>>>>>>>> > a
>>>>>>>>>>> > t
>>>>>>>>>>> > e
>>>>>>>>>>> > (Ab
>>>>>>>>>>> > str
>>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestComple
>>>>>>>>>>> > t
>>>>>>>>>>> > e
>>>>>>>>>>> > d
>>>>>>>>>>> > (
>>>>>>>>>>> > B
>>>>>>>>>>> > a
>>>>>>>>>>> > cku
>>>>>>>>>>> > pMa
>>>>>>>>>>> > nager.java:104)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicati
>>>>>>>>>>> > o
>>>>>>>>>>> > n
>>>>>>>>>>> > V
>>>>>>>>>>> > a
>>>>>>>>>>> > l
>>>>>>>>>>> > v
>>>>>>>>>>> > e.j
>>>>>>>>>>> > ava
>>>>>>>>>>> > :539)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Re
>>>>>>>>>>> > p
>>>>>>>>>>> > l
>>>>>>>>>>> > i
>>>>>>>>>>> > c
>>>>>>>>>>> > a
>>>>>>>>>>> > t
>>>>>>>>>>> > ion
>>>>>>>>>>> > Val
>>>>>>>>>>> > ve.java:526)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRep
>>>>>>>>>>> > l
>>>>>>>>>>> > i
>>>>>>>>>>> > c
>>>>>>>>>>> > a
>>>>>>>>>>> > t
>>>>>>>>>>> > i
>>>>>>>>>>> > onM
>>>>>>>>>>> > ess
>>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicatio
>>>>>>>>>>> > n
>>>>>>>>>>> > M
>>>>>>>>>>> > e
>>>>>>>>>>> > s
>>>>>>>>>>> > s
>>>>>>>>>>> > a
>>>>>>>>>>> > ge(
>>>>>>>>>>> > Rep
>>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replica
>>>>>>>>>>> > t
>>>>>>>>>>> > i
>>>>>>>>>>> > o
>>>>>>>>>>> > n
>>>>>>>>>>> > V
>>>>>>>>>>> > a
>>>>>>>>>>> > lve
>>>>>>>>>>> > .ja
>>>>>>>>>>> > va:345)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(Coyote
>>>>>>>>>>> > A
>>>>>>>>>>> > d
>>>>>>>>>>> > a
>>>>>>>>>>> > p
>>>>>>>>>>> > t
>>>>>>>>>>> > e
>>>>>>>>>>> > r.j
>>>>>>>>>>> > ava
>>>>>>>>>>> > :408)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(A
>>>>>>>>>>> > b
>>>>>>>>>>> > s
>>>>>>>>>>> > t
>>>>>>>>>>> > r
>>>>>>>>>>> > a
>>>>>>>>>>> > c
>>>>>>>>>>> > tHt
>>>>>>>>>>> > tp1
>>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>> > p
>>>>>>>>>>> > r
>>>>>>>>>>> > o
>>>>>>>>>>> > ces
>>>>>>>>>>> > s(A
>>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run
>>>>>>>>>>> > (
>>>>>>>>>>> > J
>>>>>>>>>>> > I
>>>>>>>>>>> > o
>>>>>>>>>>> > E
>>>>>>>>>>> > n
>>>>>>>>>>> > dpo
>>>>>>>>>>> > int
>>>>>>>>>>> > .java:312)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPo
>>>>>>>>>>> > o
>>>>>>>>>>> > l
>>>>>>>>>>> > E
>>>>>>>>>>> > x
>>>>>>>>>>> > e
>>>>>>>>>>> > c
>>>>>>>>>>> > uto
>>>>>>>>>>> > r.j
>>>>>>>>>>> > ava:1110)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>> > java:603)
>>>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>> > >
>>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>> > >
>>>>>>>>>>> > > Hi,
>>>>>>>>>>> > >
>>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>>>> > >
>>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>>> > > *Twitter: @rmannibucau
>>>>>>>>>>> > > <https://twitter.com/rmannibucau>*
>>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>>> > >
>>>>>>>>>>> > >
>>>>>>>>>>> > >
>>>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>>>> > >
>>>>>>>>>>> > > > Hi!
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > > 1528)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>> > 149
>>>>>>>>>>> > 3)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOut
>>>>>>>>>>> > > p
>>>>>>>>>>> > > u
>>>>>>>>>>> > > t
>>>>>>>>>>> > > S
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > eam
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :1416)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > > 1528)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>> > 149
>>>>>>>>>>> > 3)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOut
>>>>>>>>>>> > > p
>>>>>>>>>>> > > u
>>>>>>>>>>> > > t
>>>>>>>>>>> > > S
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > eam
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :1416)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > > 1528)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>> > 149
>>>>>>>>>>> > 3)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOut
>>>>>>>>>>> > > p
>>>>>>>>>>> > > u
>>>>>>>>>>> > > t
>>>>>>>>>>> > > S
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > eam
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :1416)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>> > > w
>>>>>>>>>>> > > r
>>>>>>>>>>> > > i
>>>>>>>>>>> > > t
>>>>>>>>>>> > > eEx
>>>>>>>>>>> > > ter
>>>>>>>>>>> > > na
>>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExterna
>>>>>>>>>>> > > l
>>>>>>>>>>> > > (
>>>>>>>>>>> > > D
>>>>>>>>>>> > > e
>>>>>>>>>>> > > l
>>>>>>>>>>> > > t
>>>>>>>>>>> > > aRe
>>>>>>>>>>> > > que
>>>>>>>>>>> > > st
>>>>>>>>>>> > > .java:285)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(De
>>>>>>>>>>> > > l
>>>>>>>>>>> > > t
>>>>>>>>>>> > > a
>>>>>>>>>>> > > R
>>>>>>>>>>> > > e
>>>>>>>>>>> > > q
>>>>>>>>>>> > > ues
>>>>>>>>>>> > > t.j
>>>>>>>>>>> > > av
>>>>>>>>>>> > > a:299)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>> > > 143)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.r
>>>>>>>>>>> > > e
>>>>>>>>>>> > > p
>>>>>>>>>>> > > l
>>>>>>>>>>> > > i
>>>>>>>>>>> > > c
>>>>>>>>>>> > > a
>>>>>>>>>>> > > te(
>>>>>>>>>>> > > Abs
>>>>>>>>>>> > > tr
>>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComp
>>>>>>>>>>> > > l
>>>>>>>>>>> > > e
>>>>>>>>>>> > > t
>>>>>>>>>>> > > e
>>>>>>>>>>> > > d
>>>>>>>>>>> > > (
>>>>>>>>>>> > > Bac
>>>>>>>>>>> > > kup
>>>>>>>>>>> > > Ma
>>>>>>>>>>> > > nager.java:104)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replica
>>>>>>>>>>> > > t
>>>>>>>>>>> > > i
>>>>>>>>>>> > > o
>>>>>>>>>>> > > n
>>>>>>>>>>> > > V
>>>>>>>>>>> > > a
>>>>>>>>>>> > > lve
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :539)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(
>>>>>>>>>>> > > R
>>>>>>>>>>> > > e
>>>>>>>>>>> > > p
>>>>>>>>>>> > > l
>>>>>>>>>>> > > i
>>>>>>>>>>> > > c
>>>>>>>>>>> > > ati
>>>>>>>>>>> > > onV
>>>>>>>>>>> > > al
>>>>>>>>>>> > > ve.java:526)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionR
>>>>>>>>>>> > > e
>>>>>>>>>>> > > p
>>>>>>>>>>> > > l
>>>>>>>>>>> > > i
>>>>>>>>>>> > > c
>>>>>>>>>>> > > a
>>>>>>>>>>> > > tio
>>>>>>>>>>> > > nMe
>>>>>>>>>>> > > ss
>>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicat
>>>>>>>>>>> > > i
>>>>>>>>>>> > > o
>>>>>>>>>>> > > n
>>>>>>>>>>> > > M
>>>>>>>>>>> > > e
>>>>>>>>>>> > > s
>>>>>>>>>>> > > sag
>>>>>>>>>>> > > e(R
>>>>>>>>>>> > > ep
>>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>>> > > ja
>>>>>>>>>>> > > va:345)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coyo
>>>>>>>>>>> > > t
>>>>>>>>>>> > > e
>>>>>>>>>>> > > A
>>>>>>>>>>> > > d
>>>>>>>>>>> > > a
>>>>>>>>>>> > > p
>>>>>>>>>>> > > ter
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :408)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process
>>>>>>>>>>> > > (
>>>>>>>>>>> > > A
>>>>>>>>>>> > > b
>>>>>>>>>>> > > s
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > act
>>>>>>>>>>> > > Htt
>>>>>>>>>>> > > p1
>>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>> > > p
>>>>>>>>>>> > > roc
>>>>>>>>>>> > > ess
>>>>>>>>>>> > > (A
>>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.r
>>>>>>>>>>> > > u
>>>>>>>>>>> > > n
>>>>>>>>>>> > > (
>>>>>>>>>>> > > J
>>>>>>>>>>> > > I
>>>>>>>>>>> > > o
>>>>>>>>>>> > > End
>>>>>>>>>>> > > poi
>>>>>>>>>>> > > nt
>>>>>>>>>>> > > .java:310)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(Thread
>>>>>>>>>>> > > P
>>>>>>>>>>> > > o
>>>>>>>>>>> > > o
>>>>>>>>>>> > > l
>>>>>>>>>>> > > E
>>>>>>>>>>> > > x
>>>>>>>>>>> > > ecu
>>>>>>>>>>> > > tor
>>>>>>>>>>> > > .j
>>>>>>>>>>> > > ava:1110)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>> > > java:603)
>>>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > Best regards,
>>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>>> > > >
>>>>>>>>>>> > > >
>>>>>>>>>>> > > >
>>>>>>>>>>> > >
>>>>>>>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
seems to work here, not sure what I missed
can you debug on openwebbeans trunk this method
org.apache.webbeans.intercept.DefaultInterceptorHandler#readInterceptor
line 323 ((Interceptor<?>) beanManager.getPassivationCapableBean(id))
put a conditional breakpoint when the returned value is null and give
us the interceptor info (class etc...)?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> Oh. Thank you for correcting me. :)
>
> I have commited corrections in Interceptor. Exception is still there:
>
> java.lang.NullPointerException
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:26)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> javax.faces.component.UICommand.broadcast(UICommand.java:120)
> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 15:41
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> No no, it is really forbidden explicitely.
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 15:12
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Did you notice your interceptor is scoped? -> @ApplicationScoped
>>
>> it is forbidden by the spec
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> After rebuild I've got another exception:
>>>
>>> java.lang.NullPointerException
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:601)
>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:601)
>>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>
>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>
>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51
>>> )
>>>
>>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>>>
>>> To reproduce:
>>> 1. Start the application in cluster. And open
>>> /tomee_replication-1.0/index.xhtml
>>> 2. Press submit button.
>>> 3. Stop active node.
>>> 4. Press submit button.
>>>
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> Got it! A have reproduced the issue. See my test app:
>>>> https://github.com/eiskonzept/tomee
>>>>
>>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>>
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> Can be related to apache codi extensions Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>>>
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>> No, there is no beans which are intercepting themselves.
>>>>>>
>>>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>>>
>>>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>>>
>>>>>> There is an exception which is logged on the node to which session is replicated:
>>>>>>
>>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>>> java.io.EOFException
>>>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>>> now Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>> PS: do you intercept yourself?
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>> well it is normal it happens the second time since it was
>>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>>> has missing info I think.
>>>>>>>>
>>>>>>>> That said now you see which beans are creating it, do you think
>>>>>>>> you can reproduce it?
>>>>>>>> Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>>> u
>>>>>>>>> s
>>>>>>>>> p=sharing
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>
>>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>>> serializable (see last method of
>>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-im
>>>>>>>>> p
>>>>>>>>> l
>>>>>>>>> /
>>>>>>>>> s
>>>>>>>>> r
>>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>>> java)
>>>>>>>>>
>>>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>>>
>>>>>>>>> can you try it?
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>>
>>>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>>>
>>>>>>>>>>> Hi!
>>>>>>>>>>>
>>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>>
>>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> at
>>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>>> at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>>> at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>
>>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>>
>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>>
>>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>>
>>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>> *Blog:
>>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>>> com
>>>>>>>>>>> />
>>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>>>
>>>>>>>>>>> > Hi
>>>>>>>>>>> >
>>>>>>>>>>> > There is the sample app:
>>>>>>>>>>> > https://github.com/eiskonzept/tomee
>>>>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>>> >
>>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>> >
>>>>>>>>>>> > Hi
>>>>>>>>>>> >
>>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>>> >
>>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>>>> >
>>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and
>>>>>>>>>>> > > got following
>>>>>>>>>>> > > exception:
>>>>>>>>>>> > >
>>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>>> > > at
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > 1528)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>>>>> > S
>>>>>>>>>>> > t
>>>>>>>>>>> > r
>>>>>>>>>>> > e
>>>>>>>>>>> > a
>>>>>>>>>>> > m.j
>>>>>>>>>>> > ava
>>>>>>>>>>> > :1416)
>>>>>>>>>>> > > at
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > at
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.w
>>>>>>>>>>> > r
>>>>>>>>>>> > i
>>>>>>>>>>> > t
>>>>>>>>>>> > e
>>>>>>>>>>> > E
>>>>>>>>>>> > xte
>>>>>>>>>>> > rna
>>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(D
>>>>>>>>>>> > e
>>>>>>>>>>> > l
>>>>>>>>>>> > t
>>>>>>>>>>> > a
>>>>>>>>>>> > R
>>>>>>>>>>> > equ
>>>>>>>>>>> > est
>>>>>>>>>>> > .java:285)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>>> > jav
>>>>>>>>>>> > a:299)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>> > 143)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repl
>>>>>>>>>>> > i
>>>>>>>>>>> > c
>>>>>>>>>>> > a
>>>>>>>>>>> > t
>>>>>>>>>>> > e
>>>>>>>>>>> > (Ab
>>>>>>>>>>> > str
>>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestComplet
>>>>>>>>>>> > e
>>>>>>>>>>> > d
>>>>>>>>>>> > (
>>>>>>>>>>> > B
>>>>>>>>>>> > a
>>>>>>>>>>> > cku
>>>>>>>>>>> > pMa
>>>>>>>>>>> > nager.java:104)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicatio
>>>>>>>>>>> > n
>>>>>>>>>>> > V
>>>>>>>>>>> > a
>>>>>>>>>>> > l
>>>>>>>>>>> > v
>>>>>>>>>>> > e.j
>>>>>>>>>>> > ava
>>>>>>>>>>> > :539)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Rep
>>>>>>>>>>> > l
>>>>>>>>>>> > i
>>>>>>>>>>> > c
>>>>>>>>>>> > a
>>>>>>>>>>> > t
>>>>>>>>>>> > ion
>>>>>>>>>>> > Val
>>>>>>>>>>> > ve.java:526)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepl
>>>>>>>>>>> > i
>>>>>>>>>>> > c
>>>>>>>>>>> > a
>>>>>>>>>>> > t
>>>>>>>>>>> > i
>>>>>>>>>>> > onM
>>>>>>>>>>> > ess
>>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplication
>>>>>>>>>>> > M
>>>>>>>>>>> > e
>>>>>>>>>>> > s
>>>>>>>>>>> > s
>>>>>>>>>>> > a
>>>>>>>>>>> > ge(
>>>>>>>>>>> > Rep
>>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replicat
>>>>>>>>>>> > i
>>>>>>>>>>> > o
>>>>>>>>>>> > n
>>>>>>>>>>> > V
>>>>>>>>>>> > a
>>>>>>>>>>> > lve
>>>>>>>>>>> > .ja
>>>>>>>>>>> > va:345)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteA
>>>>>>>>>>> > d
>>>>>>>>>>> > a
>>>>>>>>>>> > p
>>>>>>>>>>> > t
>>>>>>>>>>> > e
>>>>>>>>>>> > r.j
>>>>>>>>>>> > ava
>>>>>>>>>>> > :408)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Ab
>>>>>>>>>>> > s
>>>>>>>>>>> > t
>>>>>>>>>>> > r
>>>>>>>>>>> > a
>>>>>>>>>>> > c
>>>>>>>>>>> > tHt
>>>>>>>>>>> > tp1
>>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>> > p
>>>>>>>>>>> > r
>>>>>>>>>>> > o
>>>>>>>>>>> > ces
>>>>>>>>>>> > s(A
>>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(
>>>>>>>>>>> > J
>>>>>>>>>>> > I
>>>>>>>>>>> > o
>>>>>>>>>>> > E
>>>>>>>>>>> > n
>>>>>>>>>>> > dpo
>>>>>>>>>>> > int
>>>>>>>>>>> > .java:312)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo
>>>>>>>>>>> > l
>>>>>>>>>>> > E
>>>>>>>>>>> > x
>>>>>>>>>>> > e
>>>>>>>>>>> > c
>>>>>>>>>>> > uto
>>>>>>>>>>> > r.j
>>>>>>>>>>> > ava:1110)
>>>>>>>>>>> > > at
>>>>>>>>>>> > >
>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>> > java:603)
>>>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>> > >
>>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>> > >
>>>>>>>>>>> > > Hi,
>>>>>>>>>>> > >
>>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>>>> > >
>>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>>> > >
>>>>>>>>>>> > >
>>>>>>>>>>> > >
>>>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>>>> > >
>>>>>>>>>>> > > > Hi!
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > > 1528)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>> > 149
>>>>>>>>>>> > 3)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>>> > > u
>>>>>>>>>>> > > t
>>>>>>>>>>> > > S
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > eam
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :1416)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > > 1528)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>> > 149
>>>>>>>>>>> > 3)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>>> > > u
>>>>>>>>>>> > > t
>>>>>>>>>>> > > S
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > eam
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :1416)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>> > > 1528)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>> > 149
>>>>>>>>>>> > 3)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>>> > > u
>>>>>>>>>>> > > t
>>>>>>>>>>> > > S
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > eam
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :1416)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>> > > w
>>>>>>>>>>> > > r
>>>>>>>>>>> > > i
>>>>>>>>>>> > > t
>>>>>>>>>>> > > eEx
>>>>>>>>>>> > > ter
>>>>>>>>>>> > > na
>>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal
>>>>>>>>>>> > > (
>>>>>>>>>>> > > D
>>>>>>>>>>> > > e
>>>>>>>>>>> > > l
>>>>>>>>>>> > > t
>>>>>>>>>>> > > aRe
>>>>>>>>>>> > > que
>>>>>>>>>>> > > st
>>>>>>>>>>> > > .java:285)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(Del
>>>>>>>>>>> > > t
>>>>>>>>>>> > > a
>>>>>>>>>>> > > R
>>>>>>>>>>> > > e
>>>>>>>>>>> > > q
>>>>>>>>>>> > > ues
>>>>>>>>>>> > > t.j
>>>>>>>>>>> > > av
>>>>>>>>>>> > > a:299)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>> > > 143)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.re
>>>>>>>>>>> > > p
>>>>>>>>>>> > > l
>>>>>>>>>>> > > i
>>>>>>>>>>> > > c
>>>>>>>>>>> > > a
>>>>>>>>>>> > > te(
>>>>>>>>>>> > > Abs
>>>>>>>>>>> > > tr
>>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompl
>>>>>>>>>>> > > e
>>>>>>>>>>> > > t
>>>>>>>>>>> > > e
>>>>>>>>>>> > > d
>>>>>>>>>>> > > (
>>>>>>>>>>> > > Bac
>>>>>>>>>>> > > kup
>>>>>>>>>>> > > Ma
>>>>>>>>>>> > > nager.java:104)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicat
>>>>>>>>>>> > > i
>>>>>>>>>>> > > o
>>>>>>>>>>> > > n
>>>>>>>>>>> > > V
>>>>>>>>>>> > > a
>>>>>>>>>>> > > lve
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :539)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(R
>>>>>>>>>>> > > e
>>>>>>>>>>> > > p
>>>>>>>>>>> > > l
>>>>>>>>>>> > > i
>>>>>>>>>>> > > c
>>>>>>>>>>> > > ati
>>>>>>>>>>> > > onV
>>>>>>>>>>> > > al
>>>>>>>>>>> > > ve.java:526)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRe
>>>>>>>>>>> > > p
>>>>>>>>>>> > > l
>>>>>>>>>>> > > i
>>>>>>>>>>> > > c
>>>>>>>>>>> > > a
>>>>>>>>>>> > > tio
>>>>>>>>>>> > > nMe
>>>>>>>>>>> > > ss
>>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicati
>>>>>>>>>>> > > o
>>>>>>>>>>> > > n
>>>>>>>>>>> > > M
>>>>>>>>>>> > > e
>>>>>>>>>>> > > s
>>>>>>>>>>> > > sag
>>>>>>>>>>> > > e(R
>>>>>>>>>>> > > ep
>>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>>> > > ja
>>>>>>>>>>> > > va:345)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coyot
>>>>>>>>>>> > > e
>>>>>>>>>>> > > A
>>>>>>>>>>> > > d
>>>>>>>>>>> > > a
>>>>>>>>>>> > > p
>>>>>>>>>>> > > ter
>>>>>>>>>>> > > .ja
>>>>>>>>>>> > > va
>>>>>>>>>>> > > :408)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(
>>>>>>>>>>> > > A
>>>>>>>>>>> > > b
>>>>>>>>>>> > > s
>>>>>>>>>>> > > t
>>>>>>>>>>> > > r
>>>>>>>>>>> > > act
>>>>>>>>>>> > > Htt
>>>>>>>>>>> > > p1
>>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>> > > p
>>>>>>>>>>> > > roc
>>>>>>>>>>> > > ess
>>>>>>>>>>> > > (A
>>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.ru
>>>>>>>>>>> > > n
>>>>>>>>>>> > > (
>>>>>>>>>>> > > J
>>>>>>>>>>> > > I
>>>>>>>>>>> > > o
>>>>>>>>>>> > > End
>>>>>>>>>>> > > poi
>>>>>>>>>>> > > nt
>>>>>>>>>>> > > .java:310)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadP
>>>>>>>>>>> > > o
>>>>>>>>>>> > > o
>>>>>>>>>>> > > l
>>>>>>>>>>> > > E
>>>>>>>>>>> > > x
>>>>>>>>>>> > > ecu
>>>>>>>>>>> > > tor
>>>>>>>>>>> > > .j
>>>>>>>>>>> > > ava:1110)
>>>>>>>>>>> > > > at
>>>>>>>>>>> > > >
>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>> > > java:603)
>>>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>>>> > > >
>>>>>>>>>>> > > > Best regards,
>>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>>> > > >
>>>>>>>>>>> > > >
>>>>>>>>>>> > > >
>>>>>>>>>>> > >
>>>>>>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
Oh. Thank you for correcting me. :)
I have commited corrections in Interceptor. Exception is still there:
java.lang.NullPointerException
org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:26)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.apache.el.parser.AstValue.invoke(AstValue.java:278)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
javax.faces.component.UICommand.broadcast(UICommand.java:120)
javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 15:41
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
No no, it is really forbidden explicitely.
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 15:12
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Did you notice your interceptor is scoped? -> @ApplicationScoped
>
> it is forbidden by the spec
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> After rebuild I've got another exception:
>>
>> java.lang.NullPointerException
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>
>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51
>> )
>>
>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>>
>> To reproduce:
>> 1. Start the application in cluster. And open
>> /tomee_replication-1.0/index.xhtml
>> 2. Press submit button.
>> 3. Stop active node.
>> 4. Press submit button.
>>
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> Got it! A have reproduced the issue. See my test app:
>>> https://github.com/eiskonzept/tomee
>>>
>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> Can be related to apache codi extensions Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>>
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> No, there is no beans which are intercepting themselves.
>>>>>
>>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>>
>>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>>
>>>>> There is an exception which is logged on the node to which session is replicated:
>>>>>
>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>> java.io.EOFException
>>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>> now Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>> PS: do you intercept yourself?
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>> well it is normal it happens the second time since it was
>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>> has missing info I think.
>>>>>>>
>>>>>>> That said now you see which beans are creating it, do you think
>>>>>>> you can reproduce it?
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>> u
>>>>>>>> s
>>>>>>>> p=sharing
>>>>>>>>
>>>>>>>>
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>> An: users@tomee.apache.org
>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>
>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>> serializable (see last method of
>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-im
>>>>>>>> p
>>>>>>>> l
>>>>>>>> /
>>>>>>>> s
>>>>>>>> r
>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>> java)
>>>>>>>>
>>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>>
>>>>>>>> can you try it?
>>>>>>>> Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>
>>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>>
>>>>>>>>>> Hi!
>>>>>>>>>>
>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>
>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>> at
>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>> at
>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>> at
>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>> at
>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>> at
>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>> at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>> at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>
>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>
>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>
>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>
>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> *Blog:
>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>> com
>>>>>>>>>> />
>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>>
>>>>>>>>>> > Hi
>>>>>>>>>> >
>>>>>>>>>> > There is the sample app:
>>>>>>>>>> > https://github.com/eiskonzept/tomee
>>>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>> >
>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>> >
>>>>>>>>>> > Hi
>>>>>>>>>> >
>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>> >
>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>>> >
>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and
>>>>>>>>>> > > got following
>>>>>>>>>> > > exception:
>>>>>>>>>> > >
>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>> > > at
>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > 1528)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>>>> > S
>>>>>>>>>> > t
>>>>>>>>>> > r
>>>>>>>>>> > e
>>>>>>>>>> > a
>>>>>>>>>> > m.j
>>>>>>>>>> > ava
>>>>>>>>>> > :1416)
>>>>>>>>>> > > at
>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > at
>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.w
>>>>>>>>>> > r
>>>>>>>>>> > i
>>>>>>>>>> > t
>>>>>>>>>> > e
>>>>>>>>>> > E
>>>>>>>>>> > xte
>>>>>>>>>> > rna
>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(D
>>>>>>>>>> > e
>>>>>>>>>> > l
>>>>>>>>>> > t
>>>>>>>>>> > a
>>>>>>>>>> > R
>>>>>>>>>> > equ
>>>>>>>>>> > est
>>>>>>>>>> > .java:285)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>> > jav
>>>>>>>>>> > a:299)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>> > 143)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repl
>>>>>>>>>> > i
>>>>>>>>>> > c
>>>>>>>>>> > a
>>>>>>>>>> > t
>>>>>>>>>> > e
>>>>>>>>>> > (Ab
>>>>>>>>>> > str
>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestComplet
>>>>>>>>>> > e
>>>>>>>>>> > d
>>>>>>>>>> > (
>>>>>>>>>> > B
>>>>>>>>>> > a
>>>>>>>>>> > cku
>>>>>>>>>> > pMa
>>>>>>>>>> > nager.java:104)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicatio
>>>>>>>>>> > n
>>>>>>>>>> > V
>>>>>>>>>> > a
>>>>>>>>>> > l
>>>>>>>>>> > v
>>>>>>>>>> > e.j
>>>>>>>>>> > ava
>>>>>>>>>> > :539)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Rep
>>>>>>>>>> > l
>>>>>>>>>> > i
>>>>>>>>>> > c
>>>>>>>>>> > a
>>>>>>>>>> > t
>>>>>>>>>> > ion
>>>>>>>>>> > Val
>>>>>>>>>> > ve.java:526)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepl
>>>>>>>>>> > i
>>>>>>>>>> > c
>>>>>>>>>> > a
>>>>>>>>>> > t
>>>>>>>>>> > i
>>>>>>>>>> > onM
>>>>>>>>>> > ess
>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplication
>>>>>>>>>> > M
>>>>>>>>>> > e
>>>>>>>>>> > s
>>>>>>>>>> > s
>>>>>>>>>> > a
>>>>>>>>>> > ge(
>>>>>>>>>> > Rep
>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replicat
>>>>>>>>>> > i
>>>>>>>>>> > o
>>>>>>>>>> > n
>>>>>>>>>> > V
>>>>>>>>>> > a
>>>>>>>>>> > lve
>>>>>>>>>> > .ja
>>>>>>>>>> > va:345)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteA
>>>>>>>>>> > d
>>>>>>>>>> > a
>>>>>>>>>> > p
>>>>>>>>>> > t
>>>>>>>>>> > e
>>>>>>>>>> > r.j
>>>>>>>>>> > ava
>>>>>>>>>> > :408)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Ab
>>>>>>>>>> > s
>>>>>>>>>> > t
>>>>>>>>>> > r
>>>>>>>>>> > a
>>>>>>>>>> > c
>>>>>>>>>> > tHt
>>>>>>>>>> > tp1
>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>> > p
>>>>>>>>>> > r
>>>>>>>>>> > o
>>>>>>>>>> > ces
>>>>>>>>>> > s(A
>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(
>>>>>>>>>> > J
>>>>>>>>>> > I
>>>>>>>>>> > o
>>>>>>>>>> > E
>>>>>>>>>> > n
>>>>>>>>>> > dpo
>>>>>>>>>> > int
>>>>>>>>>> > .java:312)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo
>>>>>>>>>> > l
>>>>>>>>>> > E
>>>>>>>>>> > x
>>>>>>>>>> > e
>>>>>>>>>> > c
>>>>>>>>>> > uto
>>>>>>>>>> > r.j
>>>>>>>>>> > ava:1110)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>> > java:603)
>>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>> > >
>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>> > >
>>>>>>>>>> > > Hi,
>>>>>>>>>> > >
>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>>> > >
>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>> > >
>>>>>>>>>> > >
>>>>>>>>>> > >
>>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>>> > >
>>>>>>>>>> > > > Hi!
>>>>>>>>>> > > >
>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > > 1528)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>> > 149
>>>>>>>>>> > 3)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>> > > u
>>>>>>>>>> > > t
>>>>>>>>>> > > S
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > eam
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :1416)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > > 1528)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>> > 149
>>>>>>>>>> > 3)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>> > > u
>>>>>>>>>> > > t
>>>>>>>>>> > > S
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > eam
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :1416)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > > 1528)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>> > 149
>>>>>>>>>> > 3)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>> > > u
>>>>>>>>>> > > t
>>>>>>>>>> > > S
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > eam
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :1416)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > > at
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>> > > w
>>>>>>>>>> > > r
>>>>>>>>>> > > i
>>>>>>>>>> > > t
>>>>>>>>>> > > eEx
>>>>>>>>>> > > ter
>>>>>>>>>> > > na
>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal
>>>>>>>>>> > > (
>>>>>>>>>> > > D
>>>>>>>>>> > > e
>>>>>>>>>> > > l
>>>>>>>>>> > > t
>>>>>>>>>> > > aRe
>>>>>>>>>> > > que
>>>>>>>>>> > > st
>>>>>>>>>> > > .java:285)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(Del
>>>>>>>>>> > > t
>>>>>>>>>> > > a
>>>>>>>>>> > > R
>>>>>>>>>> > > e
>>>>>>>>>> > > q
>>>>>>>>>> > > ues
>>>>>>>>>> > > t.j
>>>>>>>>>> > > av
>>>>>>>>>> > > a:299)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>> > > 143)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.re
>>>>>>>>>> > > p
>>>>>>>>>> > > l
>>>>>>>>>> > > i
>>>>>>>>>> > > c
>>>>>>>>>> > > a
>>>>>>>>>> > > te(
>>>>>>>>>> > > Abs
>>>>>>>>>> > > tr
>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompl
>>>>>>>>>> > > e
>>>>>>>>>> > > t
>>>>>>>>>> > > e
>>>>>>>>>> > > d
>>>>>>>>>> > > (
>>>>>>>>>> > > Bac
>>>>>>>>>> > > kup
>>>>>>>>>> > > Ma
>>>>>>>>>> > > nager.java:104)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicat
>>>>>>>>>> > > i
>>>>>>>>>> > > o
>>>>>>>>>> > > n
>>>>>>>>>> > > V
>>>>>>>>>> > > a
>>>>>>>>>> > > lve
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :539)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(R
>>>>>>>>>> > > e
>>>>>>>>>> > > p
>>>>>>>>>> > > l
>>>>>>>>>> > > i
>>>>>>>>>> > > c
>>>>>>>>>> > > ati
>>>>>>>>>> > > onV
>>>>>>>>>> > > al
>>>>>>>>>> > > ve.java:526)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRe
>>>>>>>>>> > > p
>>>>>>>>>> > > l
>>>>>>>>>> > > i
>>>>>>>>>> > > c
>>>>>>>>>> > > a
>>>>>>>>>> > > tio
>>>>>>>>>> > > nMe
>>>>>>>>>> > > ss
>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicati
>>>>>>>>>> > > o
>>>>>>>>>> > > n
>>>>>>>>>> > > M
>>>>>>>>>> > > e
>>>>>>>>>> > > s
>>>>>>>>>> > > sag
>>>>>>>>>> > > e(R
>>>>>>>>>> > > ep
>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>> > > ja
>>>>>>>>>> > > va:345)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coyot
>>>>>>>>>> > > e
>>>>>>>>>> > > A
>>>>>>>>>> > > d
>>>>>>>>>> > > a
>>>>>>>>>> > > p
>>>>>>>>>> > > ter
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :408)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(
>>>>>>>>>> > > A
>>>>>>>>>> > > b
>>>>>>>>>> > > s
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > act
>>>>>>>>>> > > Htt
>>>>>>>>>> > > p1
>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>> > > p
>>>>>>>>>> > > roc
>>>>>>>>>> > > ess
>>>>>>>>>> > > (A
>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.ru
>>>>>>>>>> > > n
>>>>>>>>>> > > (
>>>>>>>>>> > > J
>>>>>>>>>> > > I
>>>>>>>>>> > > o
>>>>>>>>>> > > End
>>>>>>>>>> > > poi
>>>>>>>>>> > > nt
>>>>>>>>>> > > .java:310)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadP
>>>>>>>>>> > > o
>>>>>>>>>> > > o
>>>>>>>>>> > > l
>>>>>>>>>> > > E
>>>>>>>>>> > > x
>>>>>>>>>> > > ecu
>>>>>>>>>> > > tor
>>>>>>>>>> > > .j
>>>>>>>>>> > > ava:1110)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>> > > java:603)
>>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>> > > >
>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>>> > > >
>>>>>>>>>> > > > Best regards,
>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>> > > >
>>>>>>>>>> > > >
>>>>>>>>>> > > >
>>>>>>>>>> > >
>>>>>>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
No no, it is really forbidden explicitely.
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 15:12
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Did you notice your interceptor is scoped? -> @ApplicationScoped
>
> it is forbidden by the spec
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> After rebuild I've got another exception:
>>
>> java.lang.NullPointerException
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> java.lang.reflect.Method.invoke(Method.java:601)
>> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>> javax.faces.component.UICommand.broadcast(UICommand.java:120)
>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
>>
>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>>
>> To reproduce:
>> 1. Start the application in cluster. And open
>> /tomee_replication-1.0/index.xhtml
>> 2. Press submit button.
>> 3. Stop active node.
>> 4. Press submit button.
>>
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> Got it! A have reproduced the issue. See my test app:
>>> https://github.com/eiskonzept/tomee
>>>
>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> Can be related to apache codi extensions Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>>
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> No, there is no beans which are intercepting themselves.
>>>>>
>>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>>
>>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>>
>>>>> There is an exception which is logged on the node to which session is replicated:
>>>>>
>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>> java.io.EOFException
>>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>> now Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>> PS: do you intercept yourself?
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>> well it is normal it happens the second time since it was
>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>> has missing info I think.
>>>>>>>
>>>>>>> That said now you see which beans are creating it, do you think
>>>>>>> you can reproduce it?
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>> u
>>>>>>>> s
>>>>>>>> p=sharing
>>>>>>>>
>>>>>>>>
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>> An: users@tomee.apache.org
>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>
>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>> serializable (see last method of
>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-imp
>>>>>>>> l
>>>>>>>> /
>>>>>>>> s
>>>>>>>> r
>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>> java)
>>>>>>>>
>>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>>
>>>>>>>> can you try it?
>>>>>>>> Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>
>>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>>
>>>>>>>>>> Hi!
>>>>>>>>>>
>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>
>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>> at
>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>> at
>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> at
>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>> at
>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>> at
>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>> at
>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>> at
>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>> at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>> at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>
>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>
>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>
>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>
>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> *Blog:
>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>> com
>>>>>>>>>> />
>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>>
>>>>>>>>>> > Hi
>>>>>>>>>> >
>>>>>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>> >
>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>> >
>>>>>>>>>> > Hi
>>>>>>>>>> >
>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>> >
>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>>> >
>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>>>>>> > > following
>>>>>>>>>> > > exception:
>>>>>>>>>> > >
>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>> > > at
>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > 1528)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>>>>> > t
>>>>>>>>>> > r
>>>>>>>>>> > e
>>>>>>>>>> > a
>>>>>>>>>> > m.j
>>>>>>>>>> > ava
>>>>>>>>>> > :1416)
>>>>>>>>>> > > at
>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > at
>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wr
>>>>>>>>>> > i
>>>>>>>>>> > t
>>>>>>>>>> > e
>>>>>>>>>> > E
>>>>>>>>>> > xte
>>>>>>>>>> > rna
>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(De
>>>>>>>>>> > l
>>>>>>>>>> > t
>>>>>>>>>> > a
>>>>>>>>>> > R
>>>>>>>>>> > equ
>>>>>>>>>> > est
>>>>>>>>>> > .java:285)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>> > jav
>>>>>>>>>> > a:299)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>> > 143)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repli
>>>>>>>>>> > c
>>>>>>>>>> > a
>>>>>>>>>> > t
>>>>>>>>>> > e
>>>>>>>>>> > (Ab
>>>>>>>>>> > str
>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestComplete
>>>>>>>>>> > d
>>>>>>>>>> > (
>>>>>>>>>> > B
>>>>>>>>>> > a
>>>>>>>>>> > cku
>>>>>>>>>> > pMa
>>>>>>>>>> > nager.java:104)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replication
>>>>>>>>>> > V
>>>>>>>>>> > a
>>>>>>>>>> > l
>>>>>>>>>> > v
>>>>>>>>>> > e.j
>>>>>>>>>> > ava
>>>>>>>>>> > :539)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repl
>>>>>>>>>> > i
>>>>>>>>>> > c
>>>>>>>>>> > a
>>>>>>>>>> > t
>>>>>>>>>> > ion
>>>>>>>>>> > Val
>>>>>>>>>> > ve.java:526)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepli
>>>>>>>>>> > c
>>>>>>>>>> > a
>>>>>>>>>> > t
>>>>>>>>>> > i
>>>>>>>>>> > onM
>>>>>>>>>> > ess
>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationM
>>>>>>>>>> > e
>>>>>>>>>> > s
>>>>>>>>>> > s
>>>>>>>>>> > a
>>>>>>>>>> > ge(
>>>>>>>>>> > Rep
>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replicati
>>>>>>>>>> > o
>>>>>>>>>> > n
>>>>>>>>>> > V
>>>>>>>>>> > a
>>>>>>>>>> > lve
>>>>>>>>>> > .ja
>>>>>>>>>> > va:345)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>>>>>>>>>> > a
>>>>>>>>>> > p
>>>>>>>>>> > t
>>>>>>>>>> > e
>>>>>>>>>> > r.j
>>>>>>>>>> > ava
>>>>>>>>>> > :408)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>>>>>>>>>> > t
>>>>>>>>>> > r
>>>>>>>>>> > a
>>>>>>>>>> > c
>>>>>>>>>> > tHt
>>>>>>>>>> > tp1
>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>> > p
>>>>>>>>>> > r
>>>>>>>>>> > o
>>>>>>>>>> > ces
>>>>>>>>>> > s(A
>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(J
>>>>>>>>>> > I
>>>>>>>>>> > o
>>>>>>>>>> > E
>>>>>>>>>> > n
>>>>>>>>>> > dpo
>>>>>>>>>> > int
>>>>>>>>>> > .java:312)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>>>>>>>> > E
>>>>>>>>>> > x
>>>>>>>>>> > e
>>>>>>>>>> > c
>>>>>>>>>> > uto
>>>>>>>>>> > r.j
>>>>>>>>>> > ava:1110)
>>>>>>>>>> > > at
>>>>>>>>>> > >
>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>> > java:603)
>>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>> > >
>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>> > >
>>>>>>>>>> > > Hi,
>>>>>>>>>> > >
>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>>> > >
>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>> > >
>>>>>>>>>> > >
>>>>>>>>>> > >
>>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>>> > >
>>>>>>>>>> > > > Hi!
>>>>>>>>>> > > >
>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > > 1528)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>> > 149
>>>>>>>>>> > 3)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>>> > > t
>>>>>>>>>> > > S
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > eam
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :1416)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > > 1528)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>> > 149
>>>>>>>>>> > 3)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>>> > > t
>>>>>>>>>> > > S
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > eam
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :1416)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>> > > 1528)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>> > 149
>>>>>>>>>> > 3)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>>> > > t
>>>>>>>>>> > > S
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > eam
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :1416)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>> > > > at
>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>> > > w
>>>>>>>>>> > > r
>>>>>>>>>> > > i
>>>>>>>>>> > > t
>>>>>>>>>> > > eEx
>>>>>>>>>> > > ter
>>>>>>>>>> > > na
>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(
>>>>>>>>>> > > D
>>>>>>>>>> > > e
>>>>>>>>>> > > l
>>>>>>>>>> > > t
>>>>>>>>>> > > aRe
>>>>>>>>>> > > que
>>>>>>>>>> > > st
>>>>>>>>>> > > .java:285)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(Delt
>>>>>>>>>> > > a
>>>>>>>>>> > > R
>>>>>>>>>> > > e
>>>>>>>>>> > > q
>>>>>>>>>> > > ues
>>>>>>>>>> > > t.j
>>>>>>>>>> > > av
>>>>>>>>>> > > a:299)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>> > > 143)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.rep
>>>>>>>>>> > > l
>>>>>>>>>> > > i
>>>>>>>>>> > > c
>>>>>>>>>> > > a
>>>>>>>>>> > > te(
>>>>>>>>>> > > Abs
>>>>>>>>>> > > tr
>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComple
>>>>>>>>>> > > t
>>>>>>>>>> > > e
>>>>>>>>>> > > d
>>>>>>>>>> > > (
>>>>>>>>>> > > Bac
>>>>>>>>>> > > kup
>>>>>>>>>> > > Ma
>>>>>>>>>> > > nager.java:104)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicati
>>>>>>>>>> > > o
>>>>>>>>>> > > n
>>>>>>>>>> > > V
>>>>>>>>>> > > a
>>>>>>>>>> > > lve
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :539)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Re
>>>>>>>>>> > > p
>>>>>>>>>> > > l
>>>>>>>>>> > > i
>>>>>>>>>> > > c
>>>>>>>>>> > > ati
>>>>>>>>>> > > onV
>>>>>>>>>> > > al
>>>>>>>>>> > > ve.java:526)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRep
>>>>>>>>>> > > l
>>>>>>>>>> > > i
>>>>>>>>>> > > c
>>>>>>>>>> > > a
>>>>>>>>>> > > tio
>>>>>>>>>> > > nMe
>>>>>>>>>> > > ss
>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicatio
>>>>>>>>>> > > n
>>>>>>>>>> > > M
>>>>>>>>>> > > e
>>>>>>>>>> > > s
>>>>>>>>>> > > sag
>>>>>>>>>> > > e(R
>>>>>>>>>> > > ep
>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>> > > ja
>>>>>>>>>> > > va:345)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coyote
>>>>>>>>>> > > A
>>>>>>>>>> > > d
>>>>>>>>>> > > a
>>>>>>>>>> > > p
>>>>>>>>>> > > ter
>>>>>>>>>> > > .ja
>>>>>>>>>> > > va
>>>>>>>>>> > > :408)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(A
>>>>>>>>>> > > b
>>>>>>>>>> > > s
>>>>>>>>>> > > t
>>>>>>>>>> > > r
>>>>>>>>>> > > act
>>>>>>>>>> > > Htt
>>>>>>>>>> > > p1
>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>> > > p
>>>>>>>>>> > > roc
>>>>>>>>>> > > ess
>>>>>>>>>> > > (A
>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run
>>>>>>>>>> > > (
>>>>>>>>>> > > J
>>>>>>>>>> > > I
>>>>>>>>>> > > o
>>>>>>>>>> > > End
>>>>>>>>>> > > poi
>>>>>>>>>> > > nt
>>>>>>>>>> > > .java:310)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPo
>>>>>>>>>> > > o
>>>>>>>>>> > > l
>>>>>>>>>> > > E
>>>>>>>>>> > > x
>>>>>>>>>> > > ecu
>>>>>>>>>> > > tor
>>>>>>>>>> > > .j
>>>>>>>>>> > > ava:1110)
>>>>>>>>>> > > > at
>>>>>>>>>> > > >
>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>> > > java:603)
>>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>> > > >
>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>>> > > >
>>>>>>>>>> > > > Best regards,
>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>> > > >
>>>>>>>>>> > > >
>>>>>>>>>> > > >
>>>>>>>>>> > >
>>>>>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped and @Default from interceptor does not solve the issue.
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 15:12
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Did you notice your interceptor is scoped? -> @ApplicationScoped
it is forbidden by the spec
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> After rebuild I've got another exception:
>
> java.lang.NullPointerException
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> javax.faces.component.UICommand.broadcast(UICommand.java:120)
> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
>
> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>
> To reproduce:
> 1. Start the application in cluster. And open
> /tomee_replication-1.0/index.xhtml
> 2. Press submit button.
> 3. Stop active node.
> 4. Press submit button.
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 12:43
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> Got it! A have reproduced the issue. See my test app:
>> https://github.com/eiskonzept/tomee
>>
>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Can be related to apache codi extensions Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> No, there is no beans which are intercepting themselves.
>>>>
>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>
>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>
>>>> There is an exception which is logged on the node to which session is replicated:
>>>>
>>>> SEVERE: Unable to deserialize MapMessage.
>>>> java.io.EOFException
>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>> at java.lang.Thread.run(Thread.java:722)
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>> now Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>> PS: do you intercept yourself?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>> well it is normal it happens the second time since it was
>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>> has missing info I think.
>>>>>>
>>>>>> That said now you see which beans are creating it, do you think
>>>>>> you can reproduce it?
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>> u
>>>>>>> s
>>>>>>> p=sharing
>>>>>>>
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>> An: users@tomee.apache.org
>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> to give some details it happens when an interceptor is not
>>>>>>> serializable (see last method of
>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-imp
>>>>>>> l
>>>>>>> /
>>>>>>> s
>>>>>>> r
>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>> java)
>>>>>>>
>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>
>>>>>>> can you try it?
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>
>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>
>>>>>>>>> Hi!
>>>>>>>>>
>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>
>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>> at
>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>> at
>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>> at
>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>> at
>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>> at
>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>> at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>> at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>
>>>>>>>>> After that session replication stops working at all.
>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Dmitry Volkov.
>>>>>>>>>
>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>
>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>
>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> *Blog:
>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>> com
>>>>>>>>> />
>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>
>>>>>>>>> > Hi
>>>>>>>>> >
>>>>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>> >
>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>> >
>>>>>>>>> > Hi
>>>>>>>>> >
>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>> >
>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>> >
>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>>>>> > > following
>>>>>>>>> > > exception:
>>>>>>>>> > >
>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>> > > at
>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > 1528)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>>>> > t
>>>>>>>>> > r
>>>>>>>>> > e
>>>>>>>>> > a
>>>>>>>>> > m.j
>>>>>>>>> > ava
>>>>>>>>> > :1416)
>>>>>>>>> > > at
>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > at
>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wr
>>>>>>>>> > i
>>>>>>>>> > t
>>>>>>>>> > e
>>>>>>>>> > E
>>>>>>>>> > xte
>>>>>>>>> > rna
>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(De
>>>>>>>>> > l
>>>>>>>>> > t
>>>>>>>>> > a
>>>>>>>>> > R
>>>>>>>>> > equ
>>>>>>>>> > est
>>>>>>>>> > .java:285)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>> > jav
>>>>>>>>> > a:299)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>> > 143)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repli
>>>>>>>>> > c
>>>>>>>>> > a
>>>>>>>>> > t
>>>>>>>>> > e
>>>>>>>>> > (Ab
>>>>>>>>> > str
>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestComplete
>>>>>>>>> > d
>>>>>>>>> > (
>>>>>>>>> > B
>>>>>>>>> > a
>>>>>>>>> > cku
>>>>>>>>> > pMa
>>>>>>>>> > nager.java:104)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replication
>>>>>>>>> > V
>>>>>>>>> > a
>>>>>>>>> > l
>>>>>>>>> > v
>>>>>>>>> > e.j
>>>>>>>>> > ava
>>>>>>>>> > :539)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repl
>>>>>>>>> > i
>>>>>>>>> > c
>>>>>>>>> > a
>>>>>>>>> > t
>>>>>>>>> > ion
>>>>>>>>> > Val
>>>>>>>>> > ve.java:526)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepli
>>>>>>>>> > c
>>>>>>>>> > a
>>>>>>>>> > t
>>>>>>>>> > i
>>>>>>>>> > onM
>>>>>>>>> > ess
>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationM
>>>>>>>>> > e
>>>>>>>>> > s
>>>>>>>>> > s
>>>>>>>>> > a
>>>>>>>>> > ge(
>>>>>>>>> > Rep
>>>>>>>>> > licationValve.java:421)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replicati
>>>>>>>>> > o
>>>>>>>>> > n
>>>>>>>>> > V
>>>>>>>>> > a
>>>>>>>>> > lve
>>>>>>>>> > .ja
>>>>>>>>> > va:345)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>>>>>>>>> > a
>>>>>>>>> > p
>>>>>>>>> > t
>>>>>>>>> > e
>>>>>>>>> > r.j
>>>>>>>>> > ava
>>>>>>>>> > :408)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>>>>>>>>> > t
>>>>>>>>> > r
>>>>>>>>> > a
>>>>>>>>> > c
>>>>>>>>> > tHt
>>>>>>>>> > tp1
>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>> > p
>>>>>>>>> > r
>>>>>>>>> > o
>>>>>>>>> > ces
>>>>>>>>> > s(A
>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(J
>>>>>>>>> > I
>>>>>>>>> > o
>>>>>>>>> > E
>>>>>>>>> > n
>>>>>>>>> > dpo
>>>>>>>>> > int
>>>>>>>>> > .java:312)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>>>>>>> > E
>>>>>>>>> > x
>>>>>>>>> > e
>>>>>>>>> > c
>>>>>>>>> > uto
>>>>>>>>> > r.j
>>>>>>>>> > ava:1110)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>> > java:603)
>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>> > >
>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>> > >
>>>>>>>>> > > Hi,
>>>>>>>>> > >
>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>> > >
>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>> > >
>>>>>>>>> > >
>>>>>>>>> > >
>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>> > >
>>>>>>>>> > > > Hi!
>>>>>>>>> > > >
>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > > 1528)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>> > 149
>>>>>>>>> > 3)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>> > > t
>>>>>>>>> > > S
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > eam
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :1416)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > > 1528)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>> > 149
>>>>>>>>> > 3)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>> > > t
>>>>>>>>> > > S
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > eam
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :1416)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > > 1528)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>> > 149
>>>>>>>>> > 3)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutpu
>>>>>>>>> > > t
>>>>>>>>> > > S
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > eam
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :1416)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > > at
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>> > > w
>>>>>>>>> > > r
>>>>>>>>> > > i
>>>>>>>>> > > t
>>>>>>>>> > > eEx
>>>>>>>>> > > ter
>>>>>>>>> > > na
>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(
>>>>>>>>> > > D
>>>>>>>>> > > e
>>>>>>>>> > > l
>>>>>>>>> > > t
>>>>>>>>> > > aRe
>>>>>>>>> > > que
>>>>>>>>> > > st
>>>>>>>>> > > .java:285)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(Delt
>>>>>>>>> > > a
>>>>>>>>> > > R
>>>>>>>>> > > e
>>>>>>>>> > > q
>>>>>>>>> > > ues
>>>>>>>>> > > t.j
>>>>>>>>> > > av
>>>>>>>>> > > a:299)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>> > > 143)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.rep
>>>>>>>>> > > l
>>>>>>>>> > > i
>>>>>>>>> > > c
>>>>>>>>> > > a
>>>>>>>>> > > te(
>>>>>>>>> > > Abs
>>>>>>>>> > > tr
>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComple
>>>>>>>>> > > t
>>>>>>>>> > > e
>>>>>>>>> > > d
>>>>>>>>> > > (
>>>>>>>>> > > Bac
>>>>>>>>> > > kup
>>>>>>>>> > > Ma
>>>>>>>>> > > nager.java:104)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicati
>>>>>>>>> > > o
>>>>>>>>> > > n
>>>>>>>>> > > V
>>>>>>>>> > > a
>>>>>>>>> > > lve
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :539)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Re
>>>>>>>>> > > p
>>>>>>>>> > > l
>>>>>>>>> > > i
>>>>>>>>> > > c
>>>>>>>>> > > ati
>>>>>>>>> > > onV
>>>>>>>>> > > al
>>>>>>>>> > > ve.java:526)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRep
>>>>>>>>> > > l
>>>>>>>>> > > i
>>>>>>>>> > > c
>>>>>>>>> > > a
>>>>>>>>> > > tio
>>>>>>>>> > > nMe
>>>>>>>>> > > ss
>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicatio
>>>>>>>>> > > n
>>>>>>>>> > > M
>>>>>>>>> > > e
>>>>>>>>> > > s
>>>>>>>>> > > sag
>>>>>>>>> > > e(R
>>>>>>>>> > > ep
>>>>>>>>> > > licationValve.java:421)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>> > > ja
>>>>>>>>> > > va:345)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coyote
>>>>>>>>> > > A
>>>>>>>>> > > d
>>>>>>>>> > > a
>>>>>>>>> > > p
>>>>>>>>> > > ter
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :408)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(A
>>>>>>>>> > > b
>>>>>>>>> > > s
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > act
>>>>>>>>> > > Htt
>>>>>>>>> > > p1
>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>> > > p
>>>>>>>>> > > roc
>>>>>>>>> > > ess
>>>>>>>>> > > (A
>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run
>>>>>>>>> > > (
>>>>>>>>> > > J
>>>>>>>>> > > I
>>>>>>>>> > > o
>>>>>>>>> > > End
>>>>>>>>> > > poi
>>>>>>>>> > > nt
>>>>>>>>> > > .java:310)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPo
>>>>>>>>> > > o
>>>>>>>>> > > l
>>>>>>>>> > > E
>>>>>>>>> > > x
>>>>>>>>> > > ecu
>>>>>>>>> > > tor
>>>>>>>>> > > .j
>>>>>>>>> > > ava:1110)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>> > > java:603)
>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>> > > >
>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>> > > >
>>>>>>>>> > > > Best regards,
>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>> > > >
>>>>>>>>> > > >
>>>>>>>>> > > >
>>>>>>>>> > >
>>>>>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Did you notice your interceptor is scoped? -> @ApplicationScoped
it is forbidden by the spec
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> After rebuild I've got another exception:
>
> java.lang.NullPointerException
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
> de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.lang.reflect.Method.invoke(Method.java:601)
> org.apache.el.parser.AstValue.invoke(AstValue.java:278)
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> javax.faces.component.UICommand.broadcast(UICommand.java:120)
> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
>
> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
>
> To reproduce:
> 1. Start the application in cluster. And open /tomee_replication-1.0/index.xhtml
> 2. Press submit button.
> 3. Stop active node.
> 4. Press submit button.
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 12:43
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> Got it! A have reproduced the issue. See my test app:
>> https://github.com/eiskonzept/tomee
>>
>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Can be related to apache codi extensions Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>>
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> No, there is no beans which are intercepting themselves.
>>>>
>>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>>
>>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>>
>>>> There is an exception which is logged on the node to which session is replicated:
>>>>
>>>> SEVERE: Unable to deserialize MapMessage.
>>>> java.io.EOFException
>>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>> at java.lang.Thread.run(Thread.java:722)
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> If you intercept yourself trunk of openwebbeans should handle it now
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>> PS: do you intercept yourself?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>> well it is normal it happens the second time since it was
>>>>>> unserialized once then it needs to be reserialized but when it has
>>>>>> missing info I think.
>>>>>>
>>>>>> That said now you see which beans are creating it, do you think
>>>>>> you can reproduce it?
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>> u
>>>>>>> s
>>>>>>> p=sharing
>>>>>>>
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>> An: users@tomee.apache.org
>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> to give some details it happens when an interceptor is not
>>>>>>> serializable (see last method of
>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl
>>>>>>> /
>>>>>>> s
>>>>>>> r
>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>> java)
>>>>>>>
>>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>>
>>>>>>> can you try it?
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>
>>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>>
>>>>>>>>> Hi!
>>>>>>>>>
>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>
>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>> at
>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>> at
>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> at
>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>> at
>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>> at
>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>> at
>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>> at
>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>> at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>> at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>
>>>>>>>>> After that session replication stops working at all.
>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Dmitry Volkov.
>>>>>>>>>
>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>> An: users@tomee.apache.org
>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>
>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>
>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> *Blog:
>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>> com
>>>>>>>>> />
>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>>
>>>>>>>>> > Hi
>>>>>>>>> >
>>>>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2"). Then
>>>>>>>>> > open /index.xhtml from application root.
>>>>>>>>> >
>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>> > An: users@tomee.apache.org
>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>> >
>>>>>>>>> > Hi
>>>>>>>>> >
>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>> >
>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>>> >
>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>>>>> > > following
>>>>>>>>> > > exception:
>>>>>>>>> > >
>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>> > > at
>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > 1528)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>>>>> > r
>>>>>>>>> > e
>>>>>>>>> > a
>>>>>>>>> > m.j
>>>>>>>>> > ava
>>>>>>>>> > :1416)
>>>>>>>>> > > at
>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > at
>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wri
>>>>>>>>> > t
>>>>>>>>> > e
>>>>>>>>> > E
>>>>>>>>> > xte
>>>>>>>>> > rna
>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Del
>>>>>>>>> > t
>>>>>>>>> > a
>>>>>>>>> > R
>>>>>>>>> > equ
>>>>>>>>> > est
>>>>>>>>> > .java:285)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>> > jav
>>>>>>>>> > a:299)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>> > 143)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replic
>>>>>>>>> > a
>>>>>>>>> > t
>>>>>>>>> > e
>>>>>>>>> > (Ab
>>>>>>>>> > str
>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted
>>>>>>>>> > (
>>>>>>>>> > B
>>>>>>>>> > a
>>>>>>>>> > cku
>>>>>>>>> > pMa
>>>>>>>>> > nager.java:104)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationV
>>>>>>>>> > a
>>>>>>>>> > l
>>>>>>>>> > v
>>>>>>>>> > e.j
>>>>>>>>> > ava
>>>>>>>>> > :539)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repli
>>>>>>>>> > c
>>>>>>>>> > a
>>>>>>>>> > t
>>>>>>>>> > ion
>>>>>>>>> > Val
>>>>>>>>> > ve.java:526)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplic
>>>>>>>>> > a
>>>>>>>>> > t
>>>>>>>>> > i
>>>>>>>>> > onM
>>>>>>>>> > ess
>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMe
>>>>>>>>> > s
>>>>>>>>> > s
>>>>>>>>> > a
>>>>>>>>> > ge(
>>>>>>>>> > Rep
>>>>>>>>> > licationValve.java:421)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replicatio
>>>>>>>>> > n
>>>>>>>>> > V
>>>>>>>>> > a
>>>>>>>>> > lve
>>>>>>>>> > .ja
>>>>>>>>> > va:345)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAda
>>>>>>>>> > p
>>>>>>>>> > t
>>>>>>>>> > e
>>>>>>>>> > r.j
>>>>>>>>> > ava
>>>>>>>>> > :408)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abst
>>>>>>>>> > r
>>>>>>>>> > a
>>>>>>>>> > c
>>>>>>>>> > tHt
>>>>>>>>> > tp1
>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>> > p
>>>>>>>>> > r
>>>>>>>>> > o
>>>>>>>>> > ces
>>>>>>>>> > s(A
>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JI
>>>>>>>>> > o
>>>>>>>>> > E
>>>>>>>>> > n
>>>>>>>>> > dpo
>>>>>>>>> > int
>>>>>>>>> > .java:312)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolE
>>>>>>>>> > x
>>>>>>>>> > e
>>>>>>>>> > c
>>>>>>>>> > uto
>>>>>>>>> > r.j
>>>>>>>>> > ava:1110)
>>>>>>>>> > > at
>>>>>>>>> > >
>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>> > java:603)
>>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>> > >
>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>> > >
>>>>>>>>> > > Hi,
>>>>>>>>> > >
>>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>>> > >
>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>> > >
>>>>>>>>> > >
>>>>>>>>> > >
>>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>>> > >
>>>>>>>>> > > > Hi!
>>>>>>>>> > > >
>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > > 1528)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>> > 149
>>>>>>>>> > 3)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>>> > > S
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > eam
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :1416)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > > 1528)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>> > 149
>>>>>>>>> > 3)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>>> > > S
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > eam
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :1416)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>> > > 1528)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>> > 149
>>>>>>>>> > 3)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>>> > > S
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > eam
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :1416)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>> > > > at
>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.w
>>>>>>>>> > > r
>>>>>>>>> > > i
>>>>>>>>> > > t
>>>>>>>>> > > eEx
>>>>>>>>> > > ter
>>>>>>>>> > > na
>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(D
>>>>>>>>> > > e
>>>>>>>>> > > l
>>>>>>>>> > > t
>>>>>>>>> > > aRe
>>>>>>>>> > > que
>>>>>>>>> > > st
>>>>>>>>> > > .java:285)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(Delta
>>>>>>>>> > > R
>>>>>>>>> > > e
>>>>>>>>> > > q
>>>>>>>>> > > ues
>>>>>>>>> > > t.j
>>>>>>>>> > > av
>>>>>>>>> > > a:299)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>> > > 143)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repl
>>>>>>>>> > > i
>>>>>>>>> > > c
>>>>>>>>> > > a
>>>>>>>>> > > te(
>>>>>>>>> > > Abs
>>>>>>>>> > > tr
>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComplet
>>>>>>>>> > > e
>>>>>>>>> > > d
>>>>>>>>> > > (
>>>>>>>>> > > Bac
>>>>>>>>> > > kup
>>>>>>>>> > > Ma
>>>>>>>>> > > nager.java:104)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicatio
>>>>>>>>> > > n
>>>>>>>>> > > V
>>>>>>>>> > > a
>>>>>>>>> > > lve
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :539)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Rep
>>>>>>>>> > > l
>>>>>>>>> > > i
>>>>>>>>> > > c
>>>>>>>>> > > ati
>>>>>>>>> > > onV
>>>>>>>>> > > al
>>>>>>>>> > > ve.java:526)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepl
>>>>>>>>> > > i
>>>>>>>>> > > c
>>>>>>>>> > > a
>>>>>>>>> > > tio
>>>>>>>>> > > nMe
>>>>>>>>> > > ss
>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplication
>>>>>>>>> > > M
>>>>>>>>> > > e
>>>>>>>>> > > s
>>>>>>>>> > > sag
>>>>>>>>> > > e(R
>>>>>>>>> > > ep
>>>>>>>>> > > licationValve.java:421)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>> > > ja
>>>>>>>>> > > va:345)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteA
>>>>>>>>> > > d
>>>>>>>>> > > a
>>>>>>>>> > > p
>>>>>>>>> > > ter
>>>>>>>>> > > .ja
>>>>>>>>> > > va
>>>>>>>>> > > :408)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Ab
>>>>>>>>> > > s
>>>>>>>>> > > t
>>>>>>>>> > > r
>>>>>>>>> > > act
>>>>>>>>> > > Htt
>>>>>>>>> > > p1
>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>> > > p
>>>>>>>>> > > roc
>>>>>>>>> > > ess
>>>>>>>>> > > (A
>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(
>>>>>>>>> > > J
>>>>>>>>> > > I
>>>>>>>>> > > o
>>>>>>>>> > > End
>>>>>>>>> > > poi
>>>>>>>>> > > nt
>>>>>>>>> > > .java:310)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo
>>>>>>>>> > > l
>>>>>>>>> > > E
>>>>>>>>> > > x
>>>>>>>>> > > ecu
>>>>>>>>> > > tor
>>>>>>>>> > > .j
>>>>>>>>> > > ava:1110)
>>>>>>>>> > > > at
>>>>>>>>> > > >
>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>> > > java:603)
>>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>>> > > >
>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>>> > > >
>>>>>>>>> > > > Best regards,
>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>> > > >
>>>>>>>>> > > >
>>>>>>>>> > > >
>>>>>>>>> > >
>>>>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
After rebuild I've got another exception:
java.lang.NullPointerException
org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.apache.el.parser.AstValue.invoke(AstValue.java:278)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
javax.faces.component.UICommand.broadcast(UICommand.java:120)
javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
The property "beanUsedByInterceptor" and InvocationContext(!!!!) are nulls after session migration. Interceptor seems to be wrong initialized after replication.
To reproduce:
1. Start the application in cluster. And open /tomee_replication-1.0/index.xhtml
2. Press submit button.
3. Stop active node.
4. Press submit button.
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 12:43
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you fix it in your sample?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> Got it! A have reproduced the issue. See my test app:
> https://github.com/eiskonzept/tomee
>
> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 12:03
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Can be related to apache codi extensions Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> No, there is no beans which are intercepting themselves.
>>>
>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>
>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>
>>> There is an exception which is logged on the node to which session is replicated:
>>>
>>> SEVERE: Unable to deserialize MapMessage.
>>> java.io.EOFException
>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>> at java.lang.Thread.run(Thread.java:722)
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> If you intercept yourself trunk of openwebbeans should handle it now
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>> PS: do you intercept yourself?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>> well it is normal it happens the second time since it was
>>>>> unserialized once then it needs to be reserialized but when it has
>>>>> missing info I think.
>>>>>
>>>>> That said now you see which beans are creating it, do you think
>>>>> you can reproduce it?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>> There is screenshot of how it looks like in debugger:
>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>> u
>>>>>> s
>>>>>> p=sharing
>>>>>>
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> to give some details it happens when an interceptor is not
>>>>>> serializable (see last method of
>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl
>>>>>> /
>>>>>> s
>>>>>> r
>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>> java)
>>>>>>
>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>
>>>>>> can you try it?
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>> Hi
>>>>>>>
>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>
>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>
>>>>>>>> Hi!
>>>>>>>>
>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>> The First replication works perfect, but after session
>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>
>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>> at
>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>> at
>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>> at
>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>> at
>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>> at
>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>> at
>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>> at
>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>> at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>> at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>
>>>>>>>> After that session replication stops working at all.
>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Dmitry Volkov.
>>>>>>>>
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>> An: users@tomee.apache.org
>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>
>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>
>>>>>>>> *Romain Manni-Bucau*
>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> *Blog:
>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>> com
>>>>>>>> />
>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>
>>>>>>>> > Hi
>>>>>>>> >
>>>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2"). Then
>>>>>>>> > open /index.xhtml from application root.
>>>>>>>> >
>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>> > An: users@tomee.apache.org
>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>> >
>>>>>>>> > Hi
>>>>>>>> >
>>>>>>>> > can you reproduce it in a sample?
>>>>>>>> >
>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>> >
>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>>>> > > following
>>>>>>>> > > exception:
>>>>>>>> > >
>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>> > > at
>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > 1528)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>>>> > r
>>>>>>>> > e
>>>>>>>> > a
>>>>>>>> > m.j
>>>>>>>> > ava
>>>>>>>> > :1416)
>>>>>>>> > > at
>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > at
>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wri
>>>>>>>> > t
>>>>>>>> > e
>>>>>>>> > E
>>>>>>>> > xte
>>>>>>>> > rna
>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Del
>>>>>>>> > t
>>>>>>>> > a
>>>>>>>> > R
>>>>>>>> > equ
>>>>>>>> > est
>>>>>>>> > .java:285)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>> > jav
>>>>>>>> > a:299)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>> > 143)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replic
>>>>>>>> > a
>>>>>>>> > t
>>>>>>>> > e
>>>>>>>> > (Ab
>>>>>>>> > str
>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted
>>>>>>>> > (
>>>>>>>> > B
>>>>>>>> > a
>>>>>>>> > cku
>>>>>>>> > pMa
>>>>>>>> > nager.java:104)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationV
>>>>>>>> > a
>>>>>>>> > l
>>>>>>>> > v
>>>>>>>> > e.j
>>>>>>>> > ava
>>>>>>>> > :539)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repli
>>>>>>>> > c
>>>>>>>> > a
>>>>>>>> > t
>>>>>>>> > ion
>>>>>>>> > Val
>>>>>>>> > ve.java:526)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplic
>>>>>>>> > a
>>>>>>>> > t
>>>>>>>> > i
>>>>>>>> > onM
>>>>>>>> > ess
>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMe
>>>>>>>> > s
>>>>>>>> > s
>>>>>>>> > a
>>>>>>>> > ge(
>>>>>>>> > Rep
>>>>>>>> > licationValve.java:421)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replicatio
>>>>>>>> > n
>>>>>>>> > V
>>>>>>>> > a
>>>>>>>> > lve
>>>>>>>> > .ja
>>>>>>>> > va:345)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAda
>>>>>>>> > p
>>>>>>>> > t
>>>>>>>> > e
>>>>>>>> > r.j
>>>>>>>> > ava
>>>>>>>> > :408)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abst
>>>>>>>> > r
>>>>>>>> > a
>>>>>>>> > c
>>>>>>>> > tHt
>>>>>>>> > tp1
>>>>>>>> > 1Processor.java:1023)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>> > p
>>>>>>>> > r
>>>>>>>> > o
>>>>>>>> > ces
>>>>>>>> > s(A
>>>>>>>> > bstractProtocol.java:589)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JI
>>>>>>>> > o
>>>>>>>> > E
>>>>>>>> > n
>>>>>>>> > dpo
>>>>>>>> > int
>>>>>>>> > .java:312)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolE
>>>>>>>> > x
>>>>>>>> > e
>>>>>>>> > c
>>>>>>>> > uto
>>>>>>>> > r.j
>>>>>>>> > ava:1110)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>> > java:603)
>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>> > >
>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>> > >
>>>>>>>> > > Hi,
>>>>>>>> > >
>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>> > >
>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>> > >
>>>>>>>> > >
>>>>>>>> > >
>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>> > >
>>>>>>>> > > > Hi!
>>>>>>>> > > >
>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>> > > >
>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > > 1528)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>> > 149
>>>>>>>> > 3)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>> > > S
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > eam
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :1416)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > > 1528)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>> > 149
>>>>>>>> > 3)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>> > > S
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > eam
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :1416)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > > 1528)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>> > 149
>>>>>>>> > 3)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutput
>>>>>>>> > > S
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > eam
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :1416)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > > at
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.w
>>>>>>>> > > r
>>>>>>>> > > i
>>>>>>>> > > t
>>>>>>>> > > eEx
>>>>>>>> > > ter
>>>>>>>> > > na
>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(D
>>>>>>>> > > e
>>>>>>>> > > l
>>>>>>>> > > t
>>>>>>>> > > aRe
>>>>>>>> > > que
>>>>>>>> > > st
>>>>>>>> > > .java:285)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(Delta
>>>>>>>> > > R
>>>>>>>> > > e
>>>>>>>> > > q
>>>>>>>> > > ues
>>>>>>>> > > t.j
>>>>>>>> > > av
>>>>>>>> > > a:299)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>> > > 143)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repl
>>>>>>>> > > i
>>>>>>>> > > c
>>>>>>>> > > a
>>>>>>>> > > te(
>>>>>>>> > > Abs
>>>>>>>> > > tr
>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComplet
>>>>>>>> > > e
>>>>>>>> > > d
>>>>>>>> > > (
>>>>>>>> > > Bac
>>>>>>>> > > kup
>>>>>>>> > > Ma
>>>>>>>> > > nager.java:104)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicatio
>>>>>>>> > > n
>>>>>>>> > > V
>>>>>>>> > > a
>>>>>>>> > > lve
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :539)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Rep
>>>>>>>> > > l
>>>>>>>> > > i
>>>>>>>> > > c
>>>>>>>> > > ati
>>>>>>>> > > onV
>>>>>>>> > > al
>>>>>>>> > > ve.java:526)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepl
>>>>>>>> > > i
>>>>>>>> > > c
>>>>>>>> > > a
>>>>>>>> > > tio
>>>>>>>> > > nMe
>>>>>>>> > > ss
>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplication
>>>>>>>> > > M
>>>>>>>> > > e
>>>>>>>> > > s
>>>>>>>> > > sag
>>>>>>>> > > e(R
>>>>>>>> > > ep
>>>>>>>> > > licationValve.java:421)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>> > > ja
>>>>>>>> > > va:345)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteA
>>>>>>>> > > d
>>>>>>>> > > a
>>>>>>>> > > p
>>>>>>>> > > ter
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :408)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Ab
>>>>>>>> > > s
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > act
>>>>>>>> > > Htt
>>>>>>>> > > p1
>>>>>>>> > > 1Processor.java:1023)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>> > > p
>>>>>>>> > > roc
>>>>>>>> > > ess
>>>>>>>> > > (A
>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(
>>>>>>>> > > J
>>>>>>>> > > I
>>>>>>>> > > o
>>>>>>>> > > End
>>>>>>>> > > poi
>>>>>>>> > > nt
>>>>>>>> > > .java:310)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo
>>>>>>>> > > l
>>>>>>>> > > E
>>>>>>>> > > x
>>>>>>>> > > ecu
>>>>>>>> > > tor
>>>>>>>> > > .j
>>>>>>>> > > ava:1110)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>> > > java:603)
>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>> > > >
>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>> > > >
>>>>>>>> > > > Best regards,
>>>>>>>> > > > Dmitry Volkov
>>>>>>>> > > >
>>>>>>>> > > >
>>>>>>>> > > >
>>>>>>>> > >
>>>>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did
you fix it in your sample?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> Got it! A have reproduced the issue. See my test app: https://github.com/eiskonzept/tomee
>
> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 12:03
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Can be related to apache codi extensions Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> No, there is no beans which are intercepting themselves.
>>>
>>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>>
>>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>>
>>> There is an exception which is logged on the node to which session is replicated:
>>>
>>> SEVERE: Unable to deserialize MapMessage.
>>> java.io.EOFException
>>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>> at java.lang.Thread.run(Thread.java:722)
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> If you intercept yourself trunk of openwebbeans should handle it now
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>> PS: do you intercept yourself?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>>> well it is normal it happens the second time since it was
>>>>> unserialized once then it needs to be reserialized but when it has
>>>>> missing info I think.
>>>>>
>>>>> That said now you see which beans are creating it, do you think you
>>>>> can reproduce it?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>>> There is screenshot of how it looks like in debugger:
>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>> u
>>>>>> s
>>>>>> p=sharing
>>>>>>
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> to give some details it happens when an interceptor is not
>>>>>> serializable (see last method of
>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/
>>>>>> s
>>>>>> r
>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>> java)
>>>>>>
>>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>>
>>>>>> can you try it?
>>>>>> Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>>> Hi
>>>>>>>
>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>
>>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>>
>>>>>>>> Hi!
>>>>>>>>
>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>> The First replication works perfect, but after session migration
>>>>>>>> to another node I've got following exeception:
>>>>>>>>
>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>> at
>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>> at
>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> at
>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>> at
>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>> at
>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>> at
>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>> at
>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>> at
>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>> at
>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>> at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>> at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>>
>>>>>>>> After that session replication stops working at all.
>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Dmitry Volkov.
>>>>>>>>
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>> An: users@tomee.apache.org
>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>
>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>
>>>>>>>> *Romain Manni-Bucau*
>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> *Blog:
>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>> com
>>>>>>>> />
>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>>
>>>>>>>> > Hi
>>>>>>>> >
>>>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>>>> > Package the application and start two tomee instances with
>>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2"). Then
>>>>>>>> > open /index.xhtml from application root.
>>>>>>>> >
>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>> > An: users@tomee.apache.org
>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>> >
>>>>>>>> > Hi
>>>>>>>> >
>>>>>>>> > can you reproduce it in a sample?
>>>>>>>> >
>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>>> >
>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>>>> > > following
>>>>>>>> > > exception:
>>>>>>>> > >
>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>> > > at
>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > 1528)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>>>>> > e
>>>>>>>> > a
>>>>>>>> > m.j
>>>>>>>> > ava
>>>>>>>> > :1416)
>>>>>>>> > > at
>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > at
>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writ
>>>>>>>> > e
>>>>>>>> > E
>>>>>>>> > xte
>>>>>>>> > rna
>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Delt
>>>>>>>> > a
>>>>>>>> > R
>>>>>>>> > equ
>>>>>>>> > est
>>>>>>>> > .java:285)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>> > jav
>>>>>>>> > a:299)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>> > 143)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replica
>>>>>>>> > t
>>>>>>>> > e
>>>>>>>> > (Ab
>>>>>>>> > str
>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(
>>>>>>>> > B
>>>>>>>> > a
>>>>>>>> > cku
>>>>>>>> > pMa
>>>>>>>> > nager.java:104)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationVa
>>>>>>>> > l
>>>>>>>> > v
>>>>>>>> > e.j
>>>>>>>> > ava
>>>>>>>> > :539)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replic
>>>>>>>> > a
>>>>>>>> > t
>>>>>>>> > ion
>>>>>>>> > Val
>>>>>>>> > ve.java:526)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplica
>>>>>>>> > t
>>>>>>>> > i
>>>>>>>> > onM
>>>>>>>> > ess
>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMes
>>>>>>>> > s
>>>>>>>> > a
>>>>>>>> > ge(
>>>>>>>> > Rep
>>>>>>>> > licationValve.java:421)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replication
>>>>>>>> > V
>>>>>>>> > a
>>>>>>>> > lve
>>>>>>>> > .ja
>>>>>>>> > va:345)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
>>>>>>>> > t
>>>>>>>> > e
>>>>>>>> > r.j
>>>>>>>> > ava
>>>>>>>> > :408)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr
>>>>>>>> > a
>>>>>>>> > c
>>>>>>>> > tHt
>>>>>>>> > tp1
>>>>>>>> > 1Processor.java:1023)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p
>>>>>>>> > r
>>>>>>>> > o
>>>>>>>> > ces
>>>>>>>> > s(A
>>>>>>>> > bstractProtocol.java:589)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIo
>>>>>>>> > E
>>>>>>>> > n
>>>>>>>> > dpo
>>>>>>>> > int
>>>>>>>> > .java:312)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolEx
>>>>>>>> > e
>>>>>>>> > c
>>>>>>>> > uto
>>>>>>>> > r.j
>>>>>>>> > ava:1110)
>>>>>>>> > > at
>>>>>>>> > >
>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>> > java:603)
>>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>> > >
>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>> > > An: users@tomee.apache.org
>>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>> > >
>>>>>>>> > > Hi,
>>>>>>>> > >
>>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>>> > >
>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>> > >
>>>>>>>> > >
>>>>>>>> > >
>>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>>> > >
>>>>>>>> > > > Hi!
>>>>>>>> > > >
>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>> > > >
>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > > 1528)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>> > 149
>>>>>>>> > 3)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > eam
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :1416)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > > 1528)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>> > 149
>>>>>>>> > 3)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > eam
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :1416)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>> > > 1528)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>> > 149
>>>>>>>> > 3)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > eam
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :1416)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>> > > > at
>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wr
>>>>>>>> > > i
>>>>>>>> > > t
>>>>>>>> > > eEx
>>>>>>>> > > ter
>>>>>>>> > > na
>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(De
>>>>>>>> > > l
>>>>>>>> > > t
>>>>>>>> > > aRe
>>>>>>>> > > que
>>>>>>>> > > st
>>>>>>>> > > .java:285)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaR
>>>>>>>> > > e
>>>>>>>> > > q
>>>>>>>> > > ues
>>>>>>>> > > t.j
>>>>>>>> > > av
>>>>>>>> > > a:299)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>> > > 143)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repli
>>>>>>>> > > c
>>>>>>>> > > a
>>>>>>>> > > te(
>>>>>>>> > > Abs
>>>>>>>> > > tr
>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComplete
>>>>>>>> > > d
>>>>>>>> > > (
>>>>>>>> > > Bac
>>>>>>>> > > kup
>>>>>>>> > > Ma
>>>>>>>> > > nager.java:104)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replication
>>>>>>>> > > V
>>>>>>>> > > a
>>>>>>>> > > lve
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :539)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repl
>>>>>>>> > > i
>>>>>>>> > > c
>>>>>>>> > > ati
>>>>>>>> > > onV
>>>>>>>> > > al
>>>>>>>> > > ve.java:526)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepli
>>>>>>>> > > c
>>>>>>>> > > a
>>>>>>>> > > tio
>>>>>>>> > > nMe
>>>>>>>> > > ss
>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationM
>>>>>>>> > > e
>>>>>>>> > > s
>>>>>>>> > > sag
>>>>>>>> > > e(R
>>>>>>>> > > ep
>>>>>>>> > > licationValve.java:421)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>> > > ja
>>>>>>>> > > va:345)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>>>>>>>> > > a
>>>>>>>> > > p
>>>>>>>> > > ter
>>>>>>>> > > .ja
>>>>>>>> > > va
>>>>>>>> > > :408)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>>>>>>>> > > t
>>>>>>>> > > r
>>>>>>>> > > act
>>>>>>>> > > Htt
>>>>>>>> > > p1
>>>>>>>> > > 1Processor.java:1023)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>> > > p
>>>>>>>> > > roc
>>>>>>>> > > ess
>>>>>>>> > > (A
>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(J
>>>>>>>> > > I
>>>>>>>> > > o
>>>>>>>> > > End
>>>>>>>> > > poi
>>>>>>>> > > nt
>>>>>>>> > > .java:310)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>>>>>> > > E
>>>>>>>> > > x
>>>>>>>> > > ecu
>>>>>>>> > > tor
>>>>>>>> > > .j
>>>>>>>> > > ava:1110)
>>>>>>>> > > > at
>>>>>>>> > > >
>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>> > > java:603)
>>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>>> > > >
>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>>> > > >
>>>>>>>> > > > Best regards,
>>>>>>>> > > > Dmitry Volkov
>>>>>>>> > > >
>>>>>>>> > > >
>>>>>>>> > > >
>>>>>>>> > >
>>>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
Got it! A have reproduced the issue. See my test app: https://github.com/eiskonzept/tomee
AbstractDelegatingMap class was the cause. See PassivationCapableBean.
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 12:03
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Can be related to apache codi extensions Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> I use only apache CODI 1.0.5. There are no other CDI extensions.
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 11:42
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> No, there is no beans which are intercepting themselves.
>>
>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>
>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>
>> There is an exception which is logged on the node to which session is replicated:
>>
>> SEVERE: Unable to deserialize MapMessage.
>> java.io.EOFException
>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> If you intercept yourself trunk of openwebbeans should handle it now
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>> PS: do you intercept yourself?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>> well it is normal it happens the second time since it was
>>>> unserialized once then it needs to be reserialized but when it has
>>>> missing info I think.
>>>>
>>>> That said now you see which beans are creating it, do you think you
>>>> can reproduce it?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>> There is screenshot of how it looks like in debugger:
>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>> u
>>>>> s
>>>>> p=sharing
>>>>>
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> to give some details it happens when an interceptor is not
>>>>> serializable (see last method of
>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/
>>>>> s
>>>>> r
>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>> java)
>>>>>
>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>
>>>>> can you try it?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>> Hi
>>>>>>
>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>
>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>
>>>>>>> Hi!
>>>>>>>
>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>> The First replication works perfect, but after session migration
>>>>>>> to another node I've got following exeception:
>>>>>>>
>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>> at
>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>> at
>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>> at
>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>> at
>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>> at
>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>> at
>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>> at
>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>
>>>>>>> After that session replication stops working at all.
>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Dmitry Volkov.
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>> An: users@tomee.apache.org
>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>
>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>
>>>>>>> *Romain Manni-Bucau*
>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> *Blog:
>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>> com
>>>>>>> />
>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>
>>>>>>> > Hi
>>>>>>> >
>>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>>> > Package the application and start two tomee instances with
>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2"). Then
>>>>>>> > open /index.xhtml from application root.
>>>>>>> >
>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>> > intercepted by CDI interceptor.
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>> > An: users@tomee.apache.org
>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>> >
>>>>>>> > Hi
>>>>>>> >
>>>>>>> > can you reproduce it in a sample?
>>>>>>> >
>>>>>>> > *Romain Manni-Bucau*
>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>> >
>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>>> > > following
>>>>>>> > > exception:
>>>>>>> > >
>>>>>>> > > java.io.NotSerializableException:
>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>> > > at
>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > 1528)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>>>> > e
>>>>>>> > a
>>>>>>> > m.j
>>>>>>> > ava
>>>>>>> > :1416)
>>>>>>> > > at
>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > at
>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writ
>>>>>>> > e
>>>>>>> > E
>>>>>>> > xte
>>>>>>> > rna
>>>>>>> > l(DeltaRequest.java:392)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Delt
>>>>>>> > a
>>>>>>> > R
>>>>>>> > equ
>>>>>>> > est
>>>>>>> > .java:285)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>> > jav
>>>>>>> > a:299)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>> > 143)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replica
>>>>>>> > t
>>>>>>> > e
>>>>>>> > (Ab
>>>>>>> > str
>>>>>>> > actReplicatedMap.java:424)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(
>>>>>>> > B
>>>>>>> > a
>>>>>>> > cku
>>>>>>> > pMa
>>>>>>> > nager.java:104)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationVa
>>>>>>> > l
>>>>>>> > v
>>>>>>> > e.j
>>>>>>> > ava
>>>>>>> > :539)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replic
>>>>>>> > a
>>>>>>> > t
>>>>>>> > ion
>>>>>>> > Val
>>>>>>> > ve.java:526)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplica
>>>>>>> > t
>>>>>>> > i
>>>>>>> > onM
>>>>>>> > ess
>>>>>>> > age(ReplicationValve.java:508)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMes
>>>>>>> > s
>>>>>>> > a
>>>>>>> > ge(
>>>>>>> > Rep
>>>>>>> > licationValve.java:421)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replication
>>>>>>> > V
>>>>>>> > a
>>>>>>> > lve
>>>>>>> > .ja
>>>>>>> > va:345)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
>>>>>>> > t
>>>>>>> > e
>>>>>>> > r.j
>>>>>>> > ava
>>>>>>> > :408)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr
>>>>>>> > a
>>>>>>> > c
>>>>>>> > tHt
>>>>>>> > tp1
>>>>>>> > 1Processor.java:1023)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p
>>>>>>> > r
>>>>>>> > o
>>>>>>> > ces
>>>>>>> > s(A
>>>>>>> > bstractProtocol.java:589)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIo
>>>>>>> > E
>>>>>>> > n
>>>>>>> > dpo
>>>>>>> > int
>>>>>>> > .java:312)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolEx
>>>>>>> > e
>>>>>>> > c
>>>>>>> > uto
>>>>>>> > r.j
>>>>>>> > ava:1110)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>> > java:603)
>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>> > >
>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>> > > An: users@tomee.apache.org
>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>> > >
>>>>>>> > > Hi,
>>>>>>> > >
>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>> > >
>>>>>>> > > *Romain Manni-Bucau*
>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>> > >
>>>>>>> > >
>>>>>>> > >
>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>> > >
>>>>>>> > > > Hi!
>>>>>>> > > >
>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>> > > >
>>>>>>> > > > java.io.NotSerializableException:
>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > > 1528)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>> > 149
>>>>>>> > 3)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>> > > t
>>>>>>> > > r
>>>>>>> > > eam
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :1416)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > > 1528)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>> > 149
>>>>>>> > 3)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>> > > t
>>>>>>> > > r
>>>>>>> > > eam
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :1416)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > > 1528)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>> > 149
>>>>>>> > 3)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputS
>>>>>>> > > t
>>>>>>> > > r
>>>>>>> > > eam
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :1416)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > > at
>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wr
>>>>>>> > > i
>>>>>>> > > t
>>>>>>> > > eEx
>>>>>>> > > ter
>>>>>>> > > na
>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(De
>>>>>>> > > l
>>>>>>> > > t
>>>>>>> > > aRe
>>>>>>> > > que
>>>>>>> > > st
>>>>>>> > > .java:285)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaR
>>>>>>> > > e
>>>>>>> > > q
>>>>>>> > > ues
>>>>>>> > > t.j
>>>>>>> > > av
>>>>>>> > > a:299)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>> > > 143)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.repli
>>>>>>> > > c
>>>>>>> > > a
>>>>>>> > > te(
>>>>>>> > > Abs
>>>>>>> > > tr
>>>>>>> > > actReplicatedMap.java:424)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComplete
>>>>>>> > > d
>>>>>>> > > (
>>>>>>> > > Bac
>>>>>>> > > kup
>>>>>>> > > Ma
>>>>>>> > > nager.java:104)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replication
>>>>>>> > > V
>>>>>>> > > a
>>>>>>> > > lve
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :539)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repl
>>>>>>> > > i
>>>>>>> > > c
>>>>>>> > > ati
>>>>>>> > > onV
>>>>>>> > > al
>>>>>>> > > ve.java:526)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepli
>>>>>>> > > c
>>>>>>> > > a
>>>>>>> > > tio
>>>>>>> > > nMe
>>>>>>> > > ss
>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationM
>>>>>>> > > e
>>>>>>> > > s
>>>>>>> > > sag
>>>>>>> > > e(R
>>>>>>> > > ep
>>>>>>> > > licationValve.java:421)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>> > > ja
>>>>>>> > > va:345)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>>>>>>> > > a
>>>>>>> > > p
>>>>>>> > > ter
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :408)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>>>>>>> > > t
>>>>>>> > > r
>>>>>>> > > act
>>>>>>> > > Htt
>>>>>>> > > p1
>>>>>>> > > 1Processor.java:1023)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>> > > p
>>>>>>> > > roc
>>>>>>> > > ess
>>>>>>> > > (A
>>>>>>> > > bstractProtocol.java:589)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(J
>>>>>>> > > I
>>>>>>> > > o
>>>>>>> > > End
>>>>>>> > > poi
>>>>>>> > > nt
>>>>>>> > > .java:310)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>>>>> > > E
>>>>>>> > > x
>>>>>>> > > ecu
>>>>>>> > > tor
>>>>>>> > > .j
>>>>>>> > > ava:1110)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>> > > java:603)
>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>> > > >
>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>> > > >
>>>>>>> > > > Best regards,
>>>>>>> > > > Dmitry Volkov
>>>>>>> > > >
>>>>>>> > > >
>>>>>>> > > >
>>>>>>> > >
>>>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Can be related to apache codi extensions
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> I use only apache CODI 1.0.5. There are no other CDI extensions.
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 11:42
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> No, there is no beans which are intercepting themselves.
>>
>> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>>
>> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>>
>> There is an exception which is logged on the node to which session is replicated:
>>
>> SEVERE: Unable to deserialize MapMessage.
>> java.io.EOFException
>> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> If you intercept yourself trunk of openwebbeans should handle it now
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>> PS: do you intercept yourself?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>>> well it is normal it happens the second time since it was
>>>> unserialized once then it needs to be reserialized but when it has
>>>> missing info I think.
>>>>
>>>> That said now you see which beans are creating it, do you think you
>>>> can reproduce it?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>>> There is screenshot of how it looks like in debugger:
>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?u
>>>>> s
>>>>> p=sharing
>>>>>
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> to give some details it happens when an interceptor is not
>>>>> serializable (see last method of
>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/s
>>>>> r
>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>> java)
>>>>>
>>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>>
>>>>> can you try it?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>>> Hi
>>>>>>
>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>
>>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>>
>>>>>>> Hi!
>>>>>>>
>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>> The First replication works perfect, but after session migration
>>>>>>> to another node I've got following exeception:
>>>>>>>
>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>> at
>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>> at
>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> at
>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>> at
>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>> at
>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>> at
>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>> at
>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>> at
>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>> at
>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>>
>>>>>>> After that session replication stops working at all.
>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Dmitry Volkov.
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>> An: users@tomee.apache.org
>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>
>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>
>>>>>>> *Romain Manni-Bucau*
>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> *Blog:
>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>> com
>>>>>>> />
>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>>
>>>>>>> > Hi
>>>>>>> >
>>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>>> > Package the application and start two tomee instances with
>>>>>>> > tomee maven plugin (maven profiles "node1" and "node2"). Then
>>>>>>> > open /index.xhtml from application root.
>>>>>>> >
>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>> > intercepted by CDI interceptor.
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>> > An: users@tomee.apache.org
>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>> >
>>>>>>> > Hi
>>>>>>> >
>>>>>>> > can you reproduce it in a sample?
>>>>>>> >
>>>>>>> > *Romain Manni-Bucau*
>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>>> >
>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>>> > > following
>>>>>>> > > exception:
>>>>>>> > >
>>>>>>> > > java.io.NotSerializableException:
>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>> > > at
>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > 1528)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStre
>>>>>>> > a
>>>>>>> > m.j
>>>>>>> > ava
>>>>>>> > :1416)
>>>>>>> > > at
>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > at
>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.write
>>>>>>> > E
>>>>>>> > xte
>>>>>>> > rna
>>>>>>> > l(DeltaRequest.java:392)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Delta
>>>>>>> > R
>>>>>>> > equ
>>>>>>> > est
>>>>>>> > .java:285)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>> > jav
>>>>>>> > a:299)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>> > 143)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicat
>>>>>>> > e
>>>>>>> > (Ab
>>>>>>> > str
>>>>>>> > actReplicatedMap.java:424)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(B
>>>>>>> > a
>>>>>>> > cku
>>>>>>> > pMa
>>>>>>> > nager.java:104)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationVal
>>>>>>> > v
>>>>>>> > e.j
>>>>>>> > ava
>>>>>>> > :539)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replica
>>>>>>> > t
>>>>>>> > ion
>>>>>>> > Val
>>>>>>> > ve.java:526)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicat
>>>>>>> > i
>>>>>>> > onM
>>>>>>> > ess
>>>>>>> > age(ReplicationValve.java:508)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMess
>>>>>>> > a
>>>>>>> > ge(
>>>>>>> > Rep
>>>>>>> > licationValve.java:421)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationV
>>>>>>> > a
>>>>>>> > lve
>>>>>>> > .ja
>>>>>>> > va:345)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapt
>>>>>>> > e
>>>>>>> > r.j
>>>>>>> > ava
>>>>>>> > :408)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstra
>>>>>>> > c
>>>>>>> > tHt
>>>>>>> > tp1
>>>>>>> > 1Processor.java:1023)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.pr
>>>>>>> > o
>>>>>>> > ces
>>>>>>> > s(A
>>>>>>> > bstractProtocol.java:589)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoE
>>>>>>> > n
>>>>>>> > dpo
>>>>>>> > int
>>>>>>> > .java:312)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExe
>>>>>>> > c
>>>>>>> > uto
>>>>>>> > r.j
>>>>>>> > ava:1110)
>>>>>>> > > at
>>>>>>> > >
>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>> > java:603)
>>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>>> > >
>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>> > > An: users@tomee.apache.org
>>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>> > >
>>>>>>> > > Hi,
>>>>>>> > >
>>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>>> > >
>>>>>>> > > *Romain Manni-Bucau*
>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>> > >
>>>>>>> > >
>>>>>>> > >
>>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>>> > >
>>>>>>> > > > Hi!
>>>>>>> > > >
>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>> > > >
>>>>>>> > > > java.io.NotSerializableException:
>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > > 1528)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>> > 149
>>>>>>> > 3)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>>> > > r
>>>>>>> > > eam
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :1416)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > > 1528)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>> > 149
>>>>>>> > 3)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>>> > > r
>>>>>>> > > eam
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :1416)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>> > > 1528)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>> > 149
>>>>>>> > 3)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>>> > > r
>>>>>>> > > eam
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :1416)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>> > > > at
>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wri
>>>>>>> > > t
>>>>>>> > > eEx
>>>>>>> > > ter
>>>>>>> > > na
>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Del
>>>>>>> > > t
>>>>>>> > > aRe
>>>>>>> > > que
>>>>>>> > > st
>>>>>>> > > .java:285)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRe
>>>>>>> > > q
>>>>>>> > > ues
>>>>>>> > > t.j
>>>>>>> > > av
>>>>>>> > > a:299)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>> > > 143)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replic
>>>>>>> > > a
>>>>>>> > > te(
>>>>>>> > > Abs
>>>>>>> > > tr
>>>>>>> > > actReplicatedMap.java:424)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted
>>>>>>> > > (
>>>>>>> > > Bac
>>>>>>> > > kup
>>>>>>> > > Ma
>>>>>>> > > nager.java:104)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationV
>>>>>>> > > a
>>>>>>> > > lve
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :539)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repli
>>>>>>> > > c
>>>>>>> > > ati
>>>>>>> > > onV
>>>>>>> > > al
>>>>>>> > > ve.java:526)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplic
>>>>>>> > > a
>>>>>>> > > tio
>>>>>>> > > nMe
>>>>>>> > > ss
>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMe
>>>>>>> > > s
>>>>>>> > > sag
>>>>>>> > > e(R
>>>>>>> > > ep
>>>>>>> > > licationValve.java:421)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>> > > ja
>>>>>>> > > va:345)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAda
>>>>>>> > > p
>>>>>>> > > ter
>>>>>>> > > .ja
>>>>>>> > > va
>>>>>>> > > :408)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abst
>>>>>>> > > r
>>>>>>> > > act
>>>>>>> > > Htt
>>>>>>> > > p1
>>>>>>> > > 1Processor.java:1023)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>> > > p
>>>>>>> > > roc
>>>>>>> > > ess
>>>>>>> > > (A
>>>>>>> > > bstractProtocol.java:589)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JI
>>>>>>> > > o
>>>>>>> > > End
>>>>>>> > > poi
>>>>>>> > > nt
>>>>>>> > > .java:310)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolE
>>>>>>> > > x
>>>>>>> > > ecu
>>>>>>> > > tor
>>>>>>> > > .j
>>>>>>> > > ava:1110)
>>>>>>> > > > at
>>>>>>> > > >
>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>> > > java:603)
>>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>>> > > >
>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>>> > > >
>>>>>>> > > > Best regards,
>>>>>>> > > > Dmitry Volkov
>>>>>>> > > >
>>>>>>> > > >
>>>>>>> > > >
>>>>>>> > >
>>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
I use only apache CODI 1.0.5. There are no other CDI extensions.
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 11:42
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
do you use an extension which could provide beans and interceptors which are serializable but not passivationcapabale?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> No, there is no beans which are intercepting themselves.
>
> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>
> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>
> There is an exception which is logged on the node to which session is replicated:
>
> SEVERE: Unable to deserialize MapMessage.
> java.io.EOFException
> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 11:00
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> If you intercept yourself trunk of openwebbeans should handle it now
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>> PS: do you intercept yourself?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>> well it is normal it happens the second time since it was
>>> unserialized once then it needs to be reserialized but when it has
>>> missing info I think.
>>>
>>> That said now you see which beans are creating it, do you think you
>>> can reproduce it?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>> There is screenshot of how it looks like in debugger:
>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?u
>>>> s
>>>> p=sharing
>>>>
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> to give some details it happens when an interceptor is not
>>>> serializable (see last method of
>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/s
>>>> r
>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>> java)
>>>>
>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>
>>>> can you try it?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>> Hi
>>>>>
>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>
>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>
>>>>>> Hi!
>>>>>>
>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>> The First replication works perfect, but after session migration
>>>>>> to another node I've got following exeception:
>>>>>>
>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>> at
>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>> at
>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>> at
>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>> at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>> at
>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>> at
>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>> at
>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>> at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>> at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>
>>>>>> After that session replication stops working at all.
>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>> application. Could you give me a clue how to reproduce this in simple app?
>>>>>>
>>>>>> Regards,
>>>>>> Dmitry Volkov.
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> that's an OWB issue (no link with clustering)
>>>>>>
>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>
>>>>>> *Romain Manni-Bucau*
>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> *Blog:
>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>> com
>>>>>> />
>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>
>>>>>> > Hi
>>>>>> >
>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>> > Package the application and start two tomee instances with
>>>>>> > tomee maven plugin (maven profiles "node1" and "node2"). Then
>>>>>> > open /index.xhtml from application root.
>>>>>> >
>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>> > intercepted by CDI interceptor.
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>> > An: users@tomee.apache.org
>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>> >
>>>>>> > Hi
>>>>>> >
>>>>>> > can you reproduce it in a sample?
>>>>>> >
>>>>>> > *Romain Manni-Bucau*
>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>> >
>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>> > > following
>>>>>> > > exception:
>>>>>> > >
>>>>>> > > java.io.NotSerializableException:
>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>> > > at
>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > 1528)
>>>>>> > > at
>>>>>> > >
>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStre
>>>>>> > a
>>>>>> > m.j
>>>>>> > ava
>>>>>> > :1416)
>>>>>> > > at
>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > at
>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.write
>>>>>> > E
>>>>>> > xte
>>>>>> > rna
>>>>>> > l(DeltaRequest.java:392)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Delta
>>>>>> > R
>>>>>> > equ
>>>>>> > est
>>>>>> > .java:285)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>> > jav
>>>>>> > a:299)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>> > 143)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicat
>>>>>> > e
>>>>>> > (Ab
>>>>>> > str
>>>>>> > actReplicatedMap.java:424)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(B
>>>>>> > a
>>>>>> > cku
>>>>>> > pMa
>>>>>> > nager.java:104)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationVal
>>>>>> > v
>>>>>> > e.j
>>>>>> > ava
>>>>>> > :539)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replica
>>>>>> > t
>>>>>> > ion
>>>>>> > Val
>>>>>> > ve.java:526)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicat
>>>>>> > i
>>>>>> > onM
>>>>>> > ess
>>>>>> > age(ReplicationValve.java:508)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMess
>>>>>> > a
>>>>>> > ge(
>>>>>> > Rep
>>>>>> > licationValve.java:421)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationV
>>>>>> > a
>>>>>> > lve
>>>>>> > .ja
>>>>>> > va:345)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapt
>>>>>> > e
>>>>>> > r.j
>>>>>> > ava
>>>>>> > :408)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstra
>>>>>> > c
>>>>>> > tHt
>>>>>> > tp1
>>>>>> > 1Processor.java:1023)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.pr
>>>>>> > o
>>>>>> > ces
>>>>>> > s(A
>>>>>> > bstractProtocol.java:589)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoE
>>>>>> > n
>>>>>> > dpo
>>>>>> > int
>>>>>> > .java:312)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExe
>>>>>> > c
>>>>>> > uto
>>>>>> > r.j
>>>>>> > ava:1110)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>> > java:603)
>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>> > >
>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>> > > An: users@tomee.apache.org
>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>> > >
>>>>>> > > Hi,
>>>>>> > >
>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>> > >
>>>>>> > > *Romain Manni-Bucau*
>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>> > >
>>>>>> > >
>>>>>> > >
>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>> > >
>>>>>> > > > Hi!
>>>>>> > > >
>>>>>> > > > I have just tested session replication in TomEE
>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>> > > >
>>>>>> > > > java.io.NotSerializableException:
>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > > 1528)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>> > 149
>>>>>> > 3)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>> > > r
>>>>>> > > eam
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :1416)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > > 1528)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>> > 149
>>>>>> > 3)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>> > > r
>>>>>> > > eam
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :1416)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > > 1528)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>> > 149
>>>>>> > 3)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputSt
>>>>>> > > r
>>>>>> > > eam
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :1416)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > > at
>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.wri
>>>>>> > > t
>>>>>> > > eEx
>>>>>> > > ter
>>>>>> > > na
>>>>>> > > l(DeltaRequest.java:392)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Del
>>>>>> > > t
>>>>>> > > aRe
>>>>>> > > que
>>>>>> > > st
>>>>>> > > .java:285)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRe
>>>>>> > > q
>>>>>> > > ues
>>>>>> > > t.j
>>>>>> > > av
>>>>>> > > a:299)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>> > > 143)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replic
>>>>>> > > a
>>>>>> > > te(
>>>>>> > > Abs
>>>>>> > > tr
>>>>>> > > actReplicatedMap.java:424)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted
>>>>>> > > (
>>>>>> > > Bac
>>>>>> > > kup
>>>>>> > > Ma
>>>>>> > > nager.java:104)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationV
>>>>>> > > a
>>>>>> > > lve
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :539)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repli
>>>>>> > > c
>>>>>> > > ati
>>>>>> > > onV
>>>>>> > > al
>>>>>> > > ve.java:526)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplic
>>>>>> > > a
>>>>>> > > tio
>>>>>> > > nMe
>>>>>> > > ss
>>>>>> > > age(ReplicationValve.java:508)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMe
>>>>>> > > s
>>>>>> > > sag
>>>>>> > > e(R
>>>>>> > > ep
>>>>>> > > licationValve.java:421)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>> > > ja
>>>>>> > > va:345)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAda
>>>>>> > > p
>>>>>> > > ter
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :408)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abst
>>>>>> > > r
>>>>>> > > act
>>>>>> > > Htt
>>>>>> > > p1
>>>>>> > > 1Processor.java:1023)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>> > > p
>>>>>> > > roc
>>>>>> > > ess
>>>>>> > > (A
>>>>>> > > bstractProtocol.java:589)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JI
>>>>>> > > o
>>>>>> > > End
>>>>>> > > poi
>>>>>> > > nt
>>>>>> > > .java:310)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolE
>>>>>> > > x
>>>>>> > > ecu
>>>>>> > > tor
>>>>>> > > .j
>>>>>> > > ava:1110)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>> > > java:603)
>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>> > > >
>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>> > > >
>>>>>> > > > Best regards,
>>>>>> > > > Dmitry Volkov
>>>>>> > > >
>>>>>> > > >
>>>>>> > > >
>>>>>> > >
>>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
do you use an extension which could provide beans and interceptors
which are serializable but not passivationcapabale?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> No, there is no beans which are intercepting themselves.
>
> I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
>
> UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
>
> There is an exception which is logged on the node to which session is replicated:
>
> SEVERE: Unable to deserialize MapMessage.
> java.io.EOFException
> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
> at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
> at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
> at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
> at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
> at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
> at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
> at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
> at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
> at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
> at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
> at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
> at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
> at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 11:00
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> If you intercept yourself trunk of openwebbeans should handle it now Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>> PS: do you intercept yourself?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>>> well it is normal it happens the second time since it was
>>> unserialized once then it needs to be reserialized but when it has
>>> missing info I think.
>>>
>>> That said now you see which beans are creating it, do you think you
>>> can reproduce it?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31 <dm...@eiskonzept.com>:
>>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>>> There is screenshot of how it looks like in debugger:
>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?us
>>>> p=sharing
>>>>
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> to give some details it happens when an interceptor is not
>>>> serializable (see last method of
>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/sr
>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>> java)
>>>>
>>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>>
>>>> can you try it?
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>>> Hi
>>>>>
>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>
>>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>>
>>>>>> Hi!
>>>>>>
>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>> The First replication works perfect, but after session migration
>>>>>> to another node I've got following exeception:
>>>>>>
>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>> at
>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>> at
>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> at
>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>> at
>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>> at
>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>> at
>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>> at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>> at
>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>> at
>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>> at
>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>> at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>> at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>>
>>>>>> After that session replication stops working at all. Unfortunately
>>>>>> I can't reproduce the issue with my sample application. Could you
>>>>>> give me a clue how to reproduce this in simple app?
>>>>>>
>>>>>> Regards,
>>>>>> Dmitry Volkov.
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>> An: users@tomee.apache.org
>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> that's an OWB issue (no link with clustering)
>>>>>>
>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>
>>>>>> *Romain Manni-Bucau*
>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> *Blog:
>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>> com
>>>>>> />
>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>>
>>>>>> > Hi
>>>>>> >
>>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>>> > Package the application and start two tomee instances with tomee
>>>>>> > maven plugin (maven profiles "node1" and "node2"). Then open
>>>>>> > /index.xhtml from application root.
>>>>>> >
>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>> > intercepted by CDI interceptor.
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>> > An: users@tomee.apache.org
>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>> >
>>>>>> > Hi
>>>>>> >
>>>>>> > can you reproduce it in a sample?
>>>>>> >
>>>>>> > *Romain Manni-Bucau*
>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>>> >
>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>>> > > following
>>>>>> > > exception:
>>>>>> > >
>>>>>> > > java.io.NotSerializableException:
>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>> > > at
>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > 1528)
>>>>>> > > at
>>>>>> > >
>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStrea
>>>>>> > m.j
>>>>>> > ava
>>>>>> > :1416)
>>>>>> > > at
>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > at
>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeE
>>>>>> > xte
>>>>>> > rna
>>>>>> > l(DeltaRequest.java:392)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaR
>>>>>> > equ
>>>>>> > est
>>>>>> > .java:285)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>> > jav
>>>>>> > a:299)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>> > 143)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate
>>>>>> > (Ab
>>>>>> > str
>>>>>> > actReplicatedMap.java:424)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(Ba
>>>>>> > cku
>>>>>> > pMa
>>>>>> > nager.java:104)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValv
>>>>>> > e.j
>>>>>> > ava
>>>>>> > :539)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replicat
>>>>>> > ion
>>>>>> > Val
>>>>>> > ve.java:526)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicati
>>>>>> > onM
>>>>>> > ess
>>>>>> > age(ReplicationValve.java:508)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessa
>>>>>> > ge(
>>>>>> > Rep
>>>>>> > licationValve.java:421)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationVa
>>>>>> > lve
>>>>>> > .ja
>>>>>> > va:345)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapte
>>>>>> > r.j
>>>>>> > ava
>>>>>> > :408)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstrac
>>>>>> > tHt
>>>>>> > tp1
>>>>>> > 1Processor.java:1023)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.pro
>>>>>> > ces
>>>>>> > s(A
>>>>>> > bstractProtocol.java:589)
>>>>>> > > at
>>>>>> > >
>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEn
>>>>>> > dpo
>>>>>> > int
>>>>>> > .java:312)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec
>>>>>> > uto
>>>>>> > r.j
>>>>>> > ava:1110)
>>>>>> > > at
>>>>>> > >
>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>> > java:603)
>>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>>> > >
>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>> > > An: users@tomee.apache.org
>>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>> > >
>>>>>> > > Hi,
>>>>>> > >
>>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>>> > >
>>>>>> > > *Romain Manni-Bucau*
>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>> > >
>>>>>> > >
>>>>>> > >
>>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>>> > >
>>>>>> > > > Hi!
>>>>>> > > >
>>>>>> > > > I have just tested session replication in TomEE
>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>> > > >
>>>>>> > > > java.io.NotSerializableException:
>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > > 1528)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>> > 149
>>>>>> > 3)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>>> > > eam
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :1416)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > > 1528)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>> > 149
>>>>>> > 3)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>>> > > eam
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :1416)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>> > > 1528)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>> > 149
>>>>>> > 3)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>>> > > eam
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :1416)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>> > > > at
>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writ
>>>>>> > > eEx
>>>>>> > > ter
>>>>>> > > na
>>>>>> > > l(DeltaRequest.java:392)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Delt
>>>>>> > > aRe
>>>>>> > > que
>>>>>> > > st
>>>>>> > > .java:285)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaReq
>>>>>> > > ues
>>>>>> > > t.j
>>>>>> > > av
>>>>>> > > a:299)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>> > > 143)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replica
>>>>>> > > te(
>>>>>> > > Abs
>>>>>> > > tr
>>>>>> > > actReplicatedMap.java:424)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(
>>>>>> > > Bac
>>>>>> > > kup
>>>>>> > > Ma
>>>>>> > > nager.java:104)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationVa
>>>>>> > > lve
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :539)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replic
>>>>>> > > ati
>>>>>> > > onV
>>>>>> > > al
>>>>>> > > ve.java:526)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplica
>>>>>> > > tio
>>>>>> > > nMe
>>>>>> > > ss
>>>>>> > > age(ReplicationValve.java:508)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMes
>>>>>> > > sag
>>>>>> > > e(R
>>>>>> > > ep
>>>>>> > > licationValve.java:421)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>> > > ja
>>>>>> > > va:345)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
>>>>>> > > ter
>>>>>> > > .ja
>>>>>> > > va
>>>>>> > > :408)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr
>>>>>> > > act
>>>>>> > > Htt
>>>>>> > > p1
>>>>>> > > 1Processor.java:1023)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p
>>>>>> > > roc
>>>>>> > > ess
>>>>>> > > (A
>>>>>> > > bstractProtocol.java:589)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIo
>>>>>> > > End
>>>>>> > > poi
>>>>>> > > nt
>>>>>> > > .java:310)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolEx
>>>>>> > > ecu
>>>>>> > > tor
>>>>>> > > .j
>>>>>> > > ava:1110)
>>>>>> > > > at
>>>>>> > > >
>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>> > > java:603)
>>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>>> > > >
>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>>> > > >
>>>>>> > > > Best regards,
>>>>>> > > > Dmitry Volkov
>>>>>> > > >
>>>>>> > > >
>>>>>> > > >
>>>>>> > >
>>>>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
No, there is no beans which are intercepting themselves.
I have tried different Bean/Interceptor combinations, but still can't reproduce the issue in my sample app.
UserSettings is just usual Bean and I don't know why OWB trying to serialize it as interceptor.
There is an exception which is logged on the node to which session is replicated:
SEVERE: Unable to deserialize MapMessage.
java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
at org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 11:00
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
If you intercept yourself trunk of openwebbeans should handle it now Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
> PS: do you intercept yourself?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>> well it is normal it happens the second time since it was
>> unserialized once then it needs to be reserialized but when it has
>> missing info I think.
>>
>> That said now you see which beans are creating it, do you think you
>> can reproduce it?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>> There is screenshot of how it looks like in debugger:
>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?us
>>> p=sharing
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> to give some details it happens when an interceptor is not
>>> serializable (see last method of
>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/sr
>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>> java)
>>>
>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>
>>> can you try it?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>> Hi
>>>>
>>>> In a war no idea, maybe active tomcat FINE logs
>>>>
>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>
>>>>> Hi!
>>>>>
>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>> The First replication works perfect, but after session migration
>>>>> to another node I've got following exeception:
>>>>>
>>>>> java.io.NotSerializableException: null is not serializable
>>>>> at
>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>> at
>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> at
>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>> at
>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>> at
>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>> at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>> at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>> at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>> at
>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>
>>>>> After that session replication stops working at all. Unfortunately
>>>>> I can't reproduce the issue with my sample application. Could you
>>>>> give me a clue how to reproduce this in simple app?
>>>>>
>>>>> Regards,
>>>>> Dmitry Volkov.
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> Hi,
>>>>>
>>>>> that's an OWB issue (no link with clustering)
>>>>>
>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>
>>>>> *Romain Manni-Bucau*
>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> *Blog:
>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>> com
>>>>> />
>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> *Github: https://github.com/rmannibucau*
>>>>>
>>>>>
>>>>>
>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>
>>>>> > Hi
>>>>> >
>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>> > Package the application and start two tomee instances with tomee
>>>>> > maven plugin (maven profiles "node1" and "node2"). Then open
>>>>> > /index.xhtml from application root.
>>>>> >
>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>> > intercepted by CDI interceptor.
>>>>> >
>>>>> >
>>>>> >
>>>>> > -----Ursprüngliche Nachricht-----
>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>> > An: users@tomee.apache.org
>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>> >
>>>>> > Hi
>>>>> >
>>>>> > can you reproduce it in a sample?
>>>>> >
>>>>> > *Romain Manni-Bucau*
>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>> > http://rmannibucau.wordpress.com/>
>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> > *Github: https://github.com/rmannibucau*
>>>>> >
>>>>> >
>>>>> >
>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>> >
>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>> > > following
>>>>> > > exception:
>>>>> > >
>>>>> > > java.io.NotSerializableException:
>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>> > > at
>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>> > > at
>>>>> > >
>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > 1528)
>>>>> > > at
>>>>> > >
>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>> > > at
>>>>> > >
>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStrea
>>>>> > m.j
>>>>> > ava
>>>>> > :1416)
>>>>> > > at
>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > at
>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeE
>>>>> > xte
>>>>> > rna
>>>>> > l(DeltaRequest.java:392)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaR
>>>>> > equ
>>>>> > est
>>>>> > .java:285)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>> > jav
>>>>> > a:299)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>> > 143)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate
>>>>> > (Ab
>>>>> > str
>>>>> > actReplicatedMap.java:424)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(Ba
>>>>> > cku
>>>>> > pMa
>>>>> > nager.java:104)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValv
>>>>> > e.j
>>>>> > ava
>>>>> > :539)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replicat
>>>>> > ion
>>>>> > Val
>>>>> > ve.java:526)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicati
>>>>> > onM
>>>>> > ess
>>>>> > age(ReplicationValve.java:508)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessa
>>>>> > ge(
>>>>> > Rep
>>>>> > licationValve.java:421)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationVa
>>>>> > lve
>>>>> > .ja
>>>>> > va:345)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapte
>>>>> > r.j
>>>>> > ava
>>>>> > :408)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstrac
>>>>> > tHt
>>>>> > tp1
>>>>> > 1Processor.java:1023)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.pro
>>>>> > ces
>>>>> > s(A
>>>>> > bstractProtocol.java:589)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEn
>>>>> > dpo
>>>>> > int
>>>>> > .java:312)
>>>>> > > at
>>>>> > >
>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec
>>>>> > uto
>>>>> > r.j
>>>>> > ava:1110)
>>>>> > > at
>>>>> > >
>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>> > java:603)
>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>> > >
>>>>> > > -----Ursprüngliche Nachricht-----
>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>> > > An: users@tomee.apache.org
>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>> > >
>>>>> > > Hi,
>>>>> > >
>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>> > >
>>>>> > > *Romain Manni-Bucau*
>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>> > > http://rmannibucau.wordpress.com/>
>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> > > *Github: https://github.com/rmannibucau*
>>>>> > >
>>>>> > >
>>>>> > >
>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>> > >
>>>>> > > > Hi!
>>>>> > > >
>>>>> > > > I have just tested session replication in TomEE
>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>> > > >
>>>>> > > > java.io.NotSerializableException:
>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > > 1528)
>>>>> > > > at
>>>>> > > >
>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>> > 149
>>>>> > 3)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>> > > eam
>>>>> > > .ja
>>>>> > > va
>>>>> > > :1416)
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > > 1528)
>>>>> > > > at
>>>>> > > >
>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>> > 149
>>>>> > 3)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>> > > eam
>>>>> > > .ja
>>>>> > > va
>>>>> > > :1416)
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > > 1528)
>>>>> > > > at
>>>>> > > >
>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>> > 149
>>>>> > 3)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStr
>>>>> > > eam
>>>>> > > .ja
>>>>> > > va
>>>>> > > :1416)
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > > at
>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writ
>>>>> > > eEx
>>>>> > > ter
>>>>> > > na
>>>>> > > l(DeltaRequest.java:392)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Delt
>>>>> > > aRe
>>>>> > > que
>>>>> > > st
>>>>> > > .java:285)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaReq
>>>>> > > ues
>>>>> > > t.j
>>>>> > > av
>>>>> > > a:299)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>> > > 143)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replica
>>>>> > > te(
>>>>> > > Abs
>>>>> > > tr
>>>>> > > actReplicatedMap.java:424)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(
>>>>> > > Bac
>>>>> > > kup
>>>>> > > Ma
>>>>> > > nager.java:104)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationVa
>>>>> > > lve
>>>>> > > .ja
>>>>> > > va
>>>>> > > :539)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replic
>>>>> > > ati
>>>>> > > onV
>>>>> > > al
>>>>> > > ve.java:526)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplica
>>>>> > > tio
>>>>> > > nMe
>>>>> > > ss
>>>>> > > age(ReplicationValve.java:508)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMes
>>>>> > > sag
>>>>> > > e(R
>>>>> > > ep
>>>>> > > licationValve.java:421)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>> > > ja
>>>>> > > va:345)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
>>>>> > > ter
>>>>> > > .ja
>>>>> > > va
>>>>> > > :408)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr
>>>>> > > act
>>>>> > > Htt
>>>>> > > p1
>>>>> > > 1Processor.java:1023)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p
>>>>> > > roc
>>>>> > > ess
>>>>> > > (A
>>>>> > > bstractProtocol.java:589)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIo
>>>>> > > End
>>>>> > > poi
>>>>> > > nt
>>>>> > > .java:310)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolEx
>>>>> > > ecu
>>>>> > > tor
>>>>> > > .j
>>>>> > > ava:1110)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>> > > java:603)
>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>> > > >
>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>> > > >
>>>>> > > > Best regards,
>>>>> > > > Dmitry Volkov
>>>>> > > >
>>>>> > > >
>>>>> > > >
>>>>> > >
>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
If you intercept yourself trunk of openwebbeans should handle it now
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
> PS: do you intercept yourself?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
>> well it is normal it happens the second time since it was unserialized
>> once then it needs to be reserialized but when it has missing info I
>> think.
>>
>> That said now you see which beans are creating it, do you think you
>> can reproduce it?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 <dm...@eiskonzept.com>:
>>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>>> There is screenshot of how it looks like in debugger: https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?usp=sharing
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>> An: users@tomee.apache.org
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> to give some details it happens when an interceptor is not serializable (see last method of
>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.java)
>>>
>>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>>
>>> can you try it?
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>>> Hi
>>>>
>>>> In a war no idea, maybe active tomcat FINE logs
>>>>
>>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>>
>>>>> Hi!
>>>>>
>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>> The First replication works perfect, but after session migration to
>>>>> another node I've got following exeception:
>>>>>
>>>>> java.io.NotSerializableException: null is not serializable
>>>>> at
>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>> at
>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> at
>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> at
>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>> at
>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>> at
>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>> at
>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>> at
>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>> at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>> at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>> at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>> at
>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>> at java.lang.Thread.run(Thread.java:722)
>>>>>
>>>>> After that session replication stops working at all. Unfortunately I
>>>>> can't reproduce the issue with my sample application. Could you give
>>>>> me a clue how to reproduce this in simple app?
>>>>>
>>>>> Regards,
>>>>> Dmitry Volkov.
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>> An: users@tomee.apache.org
>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> Hi,
>>>>>
>>>>> that's an OWB issue (no link with clustering)
>>>>>
>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>
>>>>> *Romain Manni-Bucau*
>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> *Blog:
>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com
>>>>> />
>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> *Github: https://github.com/rmannibucau*
>>>>>
>>>>>
>>>>>
>>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>>
>>>>> > Hi
>>>>> >
>>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>>> > Package the application and start two tomee instances with tomee
>>>>> > maven plugin (maven profiles "node1" and "node2"). Then open
>>>>> > /index.xhtml from application root.
>>>>> >
>>>>> > The issue can be reproduced when replicated CDI bean is intercepted
>>>>> > by CDI interceptor.
>>>>> >
>>>>> >
>>>>> >
>>>>> > -----Ursprüngliche Nachricht-----
>>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>> > An: users@tomee.apache.org
>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>> >
>>>>> > Hi
>>>>> >
>>>>> > can you reproduce it in a sample?
>>>>> >
>>>>> > *Romain Manni-Bucau*
>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>> > http://rmannibucau.wordpress.com/>
>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> > *Github: https://github.com/rmannibucau*
>>>>> >
>>>>> >
>>>>> >
>>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>>> >
>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>>> > > following
>>>>> > > exception:
>>>>> > >
>>>>> > > java.io.NotSerializableException:
>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>> > > at
>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>> > > at
>>>>> > >
>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > 1528)
>>>>> > > at
>>>>> > >
>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>> > > at
>>>>> > >
>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.j
>>>>> > ava
>>>>> > :1416)
>>>>> > > at
>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > at
>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExte
>>>>> > rna
>>>>> > l(DeltaRequest.java:392)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequ
>>>>> > est
>>>>> > .java:285)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>> > jav
>>>>> > a:299)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>> > 143)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Ab
>>>>> > str
>>>>> > actReplicatedMap.java:424)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backu
>>>>> > pMa
>>>>> > nager.java:104)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.j
>>>>> > ava
>>>>> > :539)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replication
>>>>> > Val
>>>>> > ve.java:526)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationM
>>>>> > ess
>>>>> > age(ReplicationValve.java:508)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(
>>>>> > Rep
>>>>> > licationValve.java:421)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve
>>>>> > .ja
>>>>> > va:345)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.j
>>>>> > ava
>>>>> > :408)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHt
>>>>> > tp1
>>>>> > 1Processor.java:1023)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proces
>>>>> > s(A
>>>>> > bstractProtocol.java:589)
>>>>> > > at
>>>>> > >
>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpo
>>>>> > int
>>>>> > .java:312)
>>>>> > > at
>>>>> > >
>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecuto
>>>>> > r.j
>>>>> > ava:1110)
>>>>> > > at
>>>>> > >
>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>> > java:603)
>>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>>> > >
>>>>> > > -----Ursprüngliche Nachricht-----
>>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>> > > An: users@tomee.apache.org
>>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>> > >
>>>>> > > Hi,
>>>>> > >
>>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>>> > >
>>>>> > > *Romain Manni-Bucau*
>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>> > > http://rmannibucau.wordpress.com/>
>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> > > *Github: https://github.com/rmannibucau*
>>>>> > >
>>>>> > >
>>>>> > >
>>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>>> > >
>>>>> > > > Hi!
>>>>> > > >
>>>>> > > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT
>>>>> > > > and got following exception:
>>>>> > > >
>>>>> > > > java.io.NotSerializableException:
>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > > 1528)
>>>>> > > > at
>>>>> > > >
>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>> > 149
>>>>> > 3)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>>>> > > .ja
>>>>> > > va
>>>>> > > :1416)
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > > 1528)
>>>>> > > > at
>>>>> > > >
>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>> > 149
>>>>> > 3)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>>>> > > .ja
>>>>> > > va
>>>>> > > :1416)
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>> > > 1528)
>>>>> > > > at
>>>>> > > >
>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>> > 149
>>>>> > 3)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>>>> > > .ja
>>>>> > > va
>>>>> > > :1416)
>>>>> > > > at
>>>>> > > >
>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>> > > > at
>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeEx
>>>>> > > ter
>>>>> > > na
>>>>> > > l(DeltaRequest.java:392)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRe
>>>>> > > que
>>>>> > > st
>>>>> > > .java:285)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaReques
>>>>> > > t.j
>>>>> > > av
>>>>> > > a:299)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>> > > 143)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(
>>>>> > > Abs
>>>>> > > tr
>>>>> > > actReplicatedMap.java:424)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(Bac
>>>>> > > kup
>>>>> > > Ma
>>>>> > > nager.java:104)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve
>>>>> > > .ja
>>>>> > > va
>>>>> > > :539)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replicati
>>>>> > > onV
>>>>> > > al
>>>>> > > ve.java:526)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicatio
>>>>> > > nMe
>>>>> > > ss
>>>>> > > age(ReplicationValve.java:508)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessag
>>>>> > > e(R
>>>>> > > ep
>>>>> > > licationValve.java:421)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>> > > ja
>>>>> > > va:345)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter
>>>>> > > .ja
>>>>> > > va
>>>>> > > :408)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstract
>>>>> > > Htt
>>>>> > > p1
>>>>> > > 1Processor.java:1023)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proc
>>>>> > > ess
>>>>> > > (A
>>>>> > > bstractProtocol.java:589)
>>>>> > > > at
>>>>> > > >
>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEnd
>>>>> > > poi
>>>>> > > nt
>>>>> > > .java:310)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecu
>>>>> > > tor
>>>>> > > .j
>>>>> > > ava:1110)
>>>>> > > > at
>>>>> > > >
>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>> > > java:603)
>>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>>> > > >
>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>>> > > >
>>>>> > > > Best regards,
>>>>> > > > Dmitry Volkov
>>>>> > > >
>>>>> > > >
>>>>> > > >
>>>>> > >
>>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
PS: do you intercept yourself?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 Romain Manni-Bucau <rm...@gmail.com>:
> well it is normal it happens the second time since it was unserialized
> once then it needs to be reserialized but when it has missing info I
> think.
>
> That said now you see which beans are creating it, do you think you
> can reproduce it?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31 <dm...@eiskonzept.com>:
>> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
>> There is screenshot of how it looks like in debugger: https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?usp=sharing
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>> An: users@tomee.apache.org
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> to give some details it happens when an interceptor is not serializable (see last method of
>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.java)
>>
>> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>>
>> can you try it?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>>> Hi
>>>
>>> In a war no idea, maybe active tomcat FINE logs
>>>
>>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>>
>>>> Hi!
>>>>
>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>> OWB Bug seems to be fixed, but there is new one.
>>>> The First replication works perfect, but after session migration to
>>>> another node I've got following exeception:
>>>>
>>>> java.io.NotSerializableException: null is not serializable
>>>> at
>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>> at
>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>> at
>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>> at
>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>> at
>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>> at
>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>> at
>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>> at
>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>> at
>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>> at
>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>> at
>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>> at
>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>> at
>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>> at
>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>> at
>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>> at
>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>> at
>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>> at
>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>> at
>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>> at
>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>> at
>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>> at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>> at
>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>> at
>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>> at
>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>> at java.lang.Thread.run(Thread.java:722)
>>>>
>>>> After that session replication stops working at all. Unfortunately I
>>>> can't reproduce the issue with my sample application. Could you give
>>>> me a clue how to reproduce this in simple app?
>>>>
>>>> Regards,
>>>> Dmitry Volkov.
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>> An: users@tomee.apache.org
>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> Hi,
>>>>
>>>> that's an OWB issue (no link with clustering)
>>>>
>>>> i'll push it over OWB list. Thanks for the report.
>>>>
>>>> *Romain Manni-Bucau*
>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> *Blog:
>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com
>>>> />
>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> *Github: https://github.com/rmannibucau*
>>>>
>>>>
>>>>
>>>> 2013/8/6 <dm...@eiskonzept.com>
>>>>
>>>> > Hi
>>>> >
>>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>>> > Package the application and start two tomee instances with tomee
>>>> > maven plugin (maven profiles "node1" and "node2"). Then open
>>>> > /index.xhtml from application root.
>>>> >
>>>> > The issue can be reproduced when replicated CDI bean is intercepted
>>>> > by CDI interceptor.
>>>> >
>>>> >
>>>> >
>>>> > -----Ursprüngliche Nachricht-----
>>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>> > An: users@tomee.apache.org
>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>> >
>>>> > Hi
>>>> >
>>>> > can you reproduce it in a sample?
>>>> >
>>>> > *Romain Manni-Bucau*
>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>> > http://rmannibucau.wordpress.com/>
>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> > *Github: https://github.com/rmannibucau*
>>>> >
>>>> >
>>>> >
>>>> > 2013/8/5 <dm...@eiskonzept.com>
>>>> >
>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>>> > > following
>>>> > > exception:
>>>> > >
>>>> > > java.io.NotSerializableException:
>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>> > > at
>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>> > > at
>>>> > >
>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>> > 1528)
>>>> > > at
>>>> > >
>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>> > > at
>>>> > >
>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.j
>>>> > ava
>>>> > :1416)
>>>> > > at
>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>> > > at
>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExte
>>>> > rna
>>>> > l(DeltaRequest.java:392)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequ
>>>> > est
>>>> > .java:285)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>> > jav
>>>> > a:299)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>> > 143)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Ab
>>>> > str
>>>> > actReplicatedMap.java:424)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backu
>>>> > pMa
>>>> > nager.java:104)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.j
>>>> > ava
>>>> > :539)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replication
>>>> > Val
>>>> > ve.java:526)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationM
>>>> > ess
>>>> > age(ReplicationValve.java:508)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(
>>>> > Rep
>>>> > licationValve.java:421)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve
>>>> > .ja
>>>> > va:345)
>>>> > > at
>>>> > >
>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.j
>>>> > ava
>>>> > :408)
>>>> > > at
>>>> > >
>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHt
>>>> > tp1
>>>> > 1Processor.java:1023)
>>>> > > at
>>>> > >
>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proces
>>>> > s(A
>>>> > bstractProtocol.java:589)
>>>> > > at
>>>> > >
>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpo
>>>> > int
>>>> > .java:312)
>>>> > > at
>>>> > >
>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecuto
>>>> > r.j
>>>> > ava:1110)
>>>> > > at
>>>> > >
>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>> > java:603)
>>>> > > at java.lang.Thread.run(Thread.java:722)
>>>> > >
>>>> > > -----Ursprüngliche Nachricht-----
>>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>> > > An: users@tomee.apache.org
>>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>> > >
>>>> > > Hi,
>>>> > >
>>>> > > just commited sthg about it, not sure it is linked but i think so.
>>>> > >
>>>> > > *Romain Manni-Bucau*
>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>> > > http://rmannibucau.wordpress.com/>
>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> > > *Github: https://github.com/rmannibucau*
>>>> > >
>>>> > >
>>>> > >
>>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>>> > >
>>>> > > > Hi!
>>>> > > >
>>>> > > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT
>>>> > > > and got following exception:
>>>> > > >
>>>> > > > java.io.NotSerializableException:
>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>> > > > at
>>>> > > >
>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>> > > > at
>>>> > > >
>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>> > > 1528)
>>>> > > > at
>>>> > > >
>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>> > 149
>>>> > 3)
>>>> > > > at
>>>> > > >
>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>>> > > .ja
>>>> > > va
>>>> > > :1416)
>>>> > > > at
>>>> > > >
>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>> > > > at
>>>> > > >
>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>> > > 1528)
>>>> > > > at
>>>> > > >
>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>> > 149
>>>> > 3)
>>>> > > > at
>>>> > > >
>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>>> > > .ja
>>>> > > va
>>>> > > :1416)
>>>> > > > at
>>>> > > >
>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>> > > > at
>>>> > > >
>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>> > > 1528)
>>>> > > > at
>>>> > > >
>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>> > 149
>>>> > 3)
>>>> > > > at
>>>> > > >
>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>>> > > .ja
>>>> > > va
>>>> > > :1416)
>>>> > > > at
>>>> > > >
>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>> > > > at
>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeEx
>>>> > > ter
>>>> > > na
>>>> > > l(DeltaRequest.java:392)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRe
>>>> > > que
>>>> > > st
>>>> > > .java:285)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaReques
>>>> > > t.j
>>>> > > av
>>>> > > a:299)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>> > > 143)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(
>>>> > > Abs
>>>> > > tr
>>>> > > actReplicatedMap.java:424)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(Bac
>>>> > > kup
>>>> > > Ma
>>>> > > nager.java:104)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve
>>>> > > .ja
>>>> > > va
>>>> > > :539)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replicati
>>>> > > onV
>>>> > > al
>>>> > > ve.java:526)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicatio
>>>> > > nMe
>>>> > > ss
>>>> > > age(ReplicationValve.java:508)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessag
>>>> > > e(R
>>>> > > ep
>>>> > > licationValve.java:421)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>> > > ja
>>>> > > va:345)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter
>>>> > > .ja
>>>> > > va
>>>> > > :408)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstract
>>>> > > Htt
>>>> > > p1
>>>> > > 1Processor.java:1023)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proc
>>>> > > ess
>>>> > > (A
>>>> > > bstractProtocol.java:589)
>>>> > > > at
>>>> > > >
>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEnd
>>>> > > poi
>>>> > > nt
>>>> > > .java:310)
>>>> > > > at
>>>> > > >
>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecu
>>>> > > tor
>>>> > > .j
>>>> > > ava:1110)
>>>> > > > at
>>>> > > >
>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>> > > java:603)
>>>> > > > at java.lang.Thread.run(Thread.java:722)
>>>> > > >
>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>>> > > >
>>>> > > > Best regards,
>>>> > > > Dmitry Volkov
>>>> > > >
>>>> > > >
>>>> > > >
>>>> > >
>>>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
well it is normal it happens the second time since it was unserialized
once then it needs to be reserialized but when it has missing info I
think.
That said now you see which beans are creating it, do you think you
can reproduce it?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/31 <dm...@eiskonzept.com>:
> It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
> There is screenshot of how it looks like in debugger: https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?usp=sharing
>
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Donnerstag, 31. Oktober 2013 06:51
> An: users@tomee.apache.org
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> to give some details it happens when an interceptor is not serializable (see last method of
> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.java)
>
> it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
>
> can you try it?
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
>> Hi
>>
>> In a war no idea, maybe active tomcat FINE logs
>>
>> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>>
>>> Hi!
>>>
>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>> OWB Bug seems to be fixed, but there is new one.
>>> The First replication works perfect, but after session migration to
>>> another node I've got following exeception:
>>>
>>> java.io.NotSerializableException: null is not serializable
>>> at
>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>> at
>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>> at
>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>> at
>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>> at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>> at
>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>> at
>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>> at
>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>> at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>> at
>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>> at
>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>> at
>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>> at
>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>> at
>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>> at
>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>> at
>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>> at
>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>> at
>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>> at
>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>> at
>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>> at
>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>> at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>> at
>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>> at
>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>> at
>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>> at java.lang.Thread.run(Thread.java:722)
>>>
>>> After that session replication stops working at all. Unfortunately I
>>> can't reproduce the issue with my sample application. Could you give
>>> me a clue how to reproduce this in simple app?
>>>
>>> Regards,
>>> Dmitry Volkov.
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> Gesendet: Dienstag, 6. August 2013 12:18
>>> An: users@tomee.apache.org
>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> Hi,
>>>
>>> that's an OWB issue (no link with clustering)
>>>
>>> i'll push it over OWB list. Thanks for the report.
>>>
>>> *Romain Manni-Bucau*
>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> *Blog:
>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com
>>> />
>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> *Github: https://github.com/rmannibucau*
>>>
>>>
>>>
>>> 2013/8/6 <dm...@eiskonzept.com>
>>>
>>> > Hi
>>> >
>>> > There is the sample app: https://github.com/eiskonzept/tomee
>>> > Package the application and start two tomee instances with tomee
>>> > maven plugin (maven profiles "node1" and "node2"). Then open
>>> > /index.xhtml from application root.
>>> >
>>> > The issue can be reproduced when replicated CDI bean is intercepted
>>> > by CDI interceptor.
>>> >
>>> >
>>> >
>>> > -----Ursprüngliche Nachricht-----
>>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> > Gesendet: Montag, 5. August 2013 10:10
>>> > An: users@tomee.apache.org
>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>> >
>>> > Hi
>>> >
>>> > can you reproduce it in a sample?
>>> >
>>> > *Romain Manni-Bucau*
>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>> > http://rmannibucau.wordpress.com/>
>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> > *Github: https://github.com/rmannibucau*
>>> >
>>> >
>>> >
>>> > 2013/8/5 <dm...@eiskonzept.com>
>>> >
>>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>>> > > following
>>> > > exception:
>>> > >
>>> > > java.io.NotSerializableException:
>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>> > > at
>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>> > > at
>>> > >
>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>> > 1528)
>>> > > at
>>> > >
>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>> > > at
>>> > >
>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.j
>>> > ava
>>> > :1416)
>>> > > at
>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>> > > at
>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExte
>>> > rna
>>> > l(DeltaRequest.java:392)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequ
>>> > est
>>> > .java:285)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>> > jav
>>> > a:299)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>> > 143)
>>> > > at
>>> > >
>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Ab
>>> > str
>>> > actReplicatedMap.java:424)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backu
>>> > pMa
>>> > nager.java:104)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.j
>>> > ava
>>> > :539)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replication
>>> > Val
>>> > ve.java:526)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationM
>>> > ess
>>> > age(ReplicationValve.java:508)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(
>>> > Rep
>>> > licationValve.java:421)
>>> > > at
>>> > >
>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve
>>> > .ja
>>> > va:345)
>>> > > at
>>> > >
>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.j
>>> > ava
>>> > :408)
>>> > > at
>>> > >
>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHt
>>> > tp1
>>> > 1Processor.java:1023)
>>> > > at
>>> > >
>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proces
>>> > s(A
>>> > bstractProtocol.java:589)
>>> > > at
>>> > >
>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpo
>>> > int
>>> > .java:312)
>>> > > at
>>> > >
>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecuto
>>> > r.j
>>> > ava:1110)
>>> > > at
>>> > >
>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>> > java:603)
>>> > > at java.lang.Thread.run(Thread.java:722)
>>> > >
>>> > > -----Ursprüngliche Nachricht-----
>>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>> > > An: users@tomee.apache.org
>>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>> > >
>>> > > Hi,
>>> > >
>>> > > just commited sthg about it, not sure it is linked but i think so.
>>> > >
>>> > > *Romain Manni-Bucau*
>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>> > > http://rmannibucau.wordpress.com/>
>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> > > *Github: https://github.com/rmannibucau*
>>> > >
>>> > >
>>> > >
>>> > > 2013/8/2 <dm...@eiskonzept.com>
>>> > >
>>> > > > Hi!
>>> > > >
>>> > > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT
>>> > > > and got following exception:
>>> > > >
>>> > > > java.io.NotSerializableException:
>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>> > > > at
>>> > > >
>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>> > > > at
>>> > > >
>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>> > > 1528)
>>> > > > at
>>> > > >
>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>> > 149
>>> > 3)
>>> > > > at
>>> > > >
>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>> > > .ja
>>> > > va
>>> > > :1416)
>>> > > > at
>>> > > >
>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>> > > > at
>>> > > >
>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>> > > 1528)
>>> > > > at
>>> > > >
>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>> > 149
>>> > 3)
>>> > > > at
>>> > > >
>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>> > > .ja
>>> > > va
>>> > > :1416)
>>> > > > at
>>> > > >
>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>> > > > at
>>> > > >
>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>> > > 1528)
>>> > > > at
>>> > > >
>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>> > 149
>>> > 3)
>>> > > > at
>>> > > >
>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>>> > > .ja
>>> > > va
>>> > > :1416)
>>> > > > at
>>> > > >
>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>> > > > at
>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeEx
>>> > > ter
>>> > > na
>>> > > l(DeltaRequest.java:392)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRe
>>> > > que
>>> > > st
>>> > > .java:285)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaReques
>>> > > t.j
>>> > > av
>>> > > a:299)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>> > > 143)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(
>>> > > Abs
>>> > > tr
>>> > > actReplicatedMap.java:424)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(Bac
>>> > > kup
>>> > > Ma
>>> > > nager.java:104)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve
>>> > > .ja
>>> > > va
>>> > > :539)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replicati
>>> > > onV
>>> > > al
>>> > > ve.java:526)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicatio
>>> > > nMe
>>> > > ss
>>> > > age(ReplicationValve.java:508)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessag
>>> > > e(R
>>> > > ep
>>> > > licationValve.java:421)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>> > > ja
>>> > > va:345)
>>> > > > at
>>> > > >
>>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter
>>> > > .ja
>>> > > va
>>> > > :408)
>>> > > > at
>>> > > >
>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstract
>>> > > Htt
>>> > > p1
>>> > > 1Processor.java:1023)
>>> > > > at
>>> > > >
>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proc
>>> > > ess
>>> > > (A
>>> > > bstractProtocol.java:589)
>>> > > > at
>>> > > >
>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEnd
>>> > > poi
>>> > > nt
>>> > > .java:310)
>>> > > > at
>>> > > >
>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecu
>>> > > tor
>>> > > .j
>>> > > ava:1110)
>>> > > > at
>>> > > >
>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>> > > java:603)
>>> > > > at java.lang.Thread.run(Thread.java:722)
>>> > > >
>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>>> > > >
>>> > > > Best regards,
>>> > > > Dmitry Volkov
>>> > > >
>>> > > >
>>> > > >
>>> > >
>>> >
AW: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by dm...@eiskonzept.com.
It looks like OWB is trying to serialize just regular CDI bean(which is not an interceptor) as interceptor. Please note that it happens only when session is replicated second time. That bean(UserSettings) is in interceptors map of DefaultInterceptor handler with "null" key.
There is screenshot of how it looks like in debugger: https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?usp=sharing
-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
Gesendet: Donnerstag, 31. Oktober 2013 06:51
An: users@tomee.apache.org
Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
to give some details it happens when an interceptor is not serializable (see last method of
https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.java)
it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor.
can you try it?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
> Hi
>
> In a war no idea, maybe active tomcat FINE logs
>
> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>
>> Hi!
>>
>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>> OWB Bug seems to be fixed, but there is new one.
>> The First replication works perfect, but after session migration to
>> another node I've got following exeception:
>>
>> java.io.NotSerializableException: null is not serializable
>> at
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>> at
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>> at
>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>> at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>> at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>> at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>> at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>> at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>> at
>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>> at
>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>> at
>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>> at
>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>> at
>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>> at
>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>> at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>> at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> After that session replication stops working at all. Unfortunately I
>> can't reproduce the issue with my sample application. Could you give
>> me a clue how to reproduce this in simple app?
>>
>> Regards,
>> Dmitry Volkov.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Dienstag, 6. August 2013 12:18
>> An: users@tomee.apache.org
>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Hi,
>>
>> that's an OWB issue (no link with clustering)
>>
>> i'll push it over OWB list. Thanks for the report.
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> *Blog:
>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com
>> />
>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> *Github: https://github.com/rmannibucau*
>>
>>
>>
>> 2013/8/6 <dm...@eiskonzept.com>
>>
>> > Hi
>> >
>> > There is the sample app: https://github.com/eiskonzept/tomee
>> > Package the application and start two tomee instances with tomee
>> > maven plugin (maven profiles "node1" and "node2"). Then open
>> > /index.xhtml from application root.
>> >
>> > The issue can be reproduced when replicated CDI bean is intercepted
>> > by CDI interceptor.
>> >
>> >
>> >
>> > -----Ursprüngliche Nachricht-----
>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> > Gesendet: Montag, 5. August 2013 10:10
>> > An: users@tomee.apache.org
>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>> >
>> > Hi
>> >
>> > can you reproduce it in a sample?
>> >
>> > *Romain Manni-Bucau*
>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> > *Blog: **http://rmannibucau.wordpress.com/*<
>> > http://rmannibucau.wordpress.com/>
>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> > *Github: https://github.com/rmannibucau*
>> >
>> >
>> >
>> > 2013/8/5 <dm...@eiskonzept.com>
>> >
>> > > I have tested replication with last 1.6.0-SNAPSHOT and got
>> > > following
>> > > exception:
>> > >
>> > > java.io.NotSerializableException:
>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>> > > at
>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>> > > at
>> > >
>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > 1528)
>> > > at
>> > >
>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>> > > at
>> > >
>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.j
>> > ava
>> > :1416)
>> > > at
>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > at
>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExte
>> > rna
>> > l(DeltaRequest.java:392)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequ
>> > est
>> > .java:285)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>> > jav
>> > a:299)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>> > 143)
>> > > at
>> > >
>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Ab
>> > str
>> > actReplicatedMap.java:424)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backu
>> > pMa
>> > nager.java:104)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.j
>> > ava
>> > :539)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replication
>> > Val
>> > ve.java:526)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationM
>> > ess
>> > age(ReplicationValve.java:508)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(
>> > Rep
>> > licationValve.java:421)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve
>> > .ja
>> > va:345)
>> > > at
>> > >
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.j
>> > ava
>> > :408)
>> > > at
>> > >
>> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHt
>> > tp1
>> > 1Processor.java:1023)
>> > > at
>> > >
>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proces
>> > s(A
>> > bstractProtocol.java:589)
>> > > at
>> > >
>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpo
>> > int
>> > .java:312)
>> > > at
>> > >
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecuto
>> > r.j
>> > ava:1110)
>> > > at
>> > >
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> > java:603)
>> > > at java.lang.Thread.run(Thread.java:722)
>> > >
>> > > -----Ursprüngliche Nachricht-----
>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> > > Gesendet: Freitag, 2. August 2013 16:15
>> > > An: users@tomee.apache.org
>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>> > >
>> > > Hi,
>> > >
>> > > just commited sthg about it, not sure it is linked but i think so.
>> > >
>> > > *Romain Manni-Bucau*
>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>> > > http://rmannibucau.wordpress.com/>
>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> > > *Github: https://github.com/rmannibucau*
>> > >
>> > >
>> > >
>> > > 2013/8/2 <dm...@eiskonzept.com>
>> > >
>> > > > Hi!
>> > > >
>> > > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT
>> > > > and got following exception:
>> > > >
>> > > > java.io.NotSerializableException:
>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > > 1528)
>> > > > at
>> > > >
>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>> > 149
>> > 3)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>> > > .ja
>> > > va
>> > > :1416)
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > > 1528)
>> > > > at
>> > > >
>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>> > 149
>> > 3)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>> > > .ja
>> > > va
>> > > :1416)
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > > 1528)
>> > > > at
>> > > >
>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>> > 149
>> > 3)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream
>> > > .ja
>> > > va
>> > > :1416)
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > > at
>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeEx
>> > > ter
>> > > na
>> > > l(DeltaRequest.java:392)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRe
>> > > que
>> > > st
>> > > .java:285)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaReques
>> > > t.j
>> > > av
>> > > a:299)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>> > > 143)
>> > > > at
>> > > >
>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(
>> > > Abs
>> > > tr
>> > > actReplicatedMap.java:424)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(Bac
>> > > kup
>> > > Ma
>> > > nager.java:104)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve
>> > > .ja
>> > > va
>> > > :539)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replicati
>> > > onV
>> > > al
>> > > ve.java:526)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicatio
>> > > nMe
>> > > ss
>> > > age(ReplicationValve.java:508)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessag
>> > > e(R
>> > > ep
>> > > licationValve.java:421)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>> > > ja
>> > > va:345)
>> > > > at
>> > > >
>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter
>> > > .ja
>> > > va
>> > > :408)
>> > > > at
>> > > >
>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstract
>> > > Htt
>> > > p1
>> > > 1Processor.java:1023)
>> > > > at
>> > > >
>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.proc
>> > > ess
>> > > (A
>> > > bstractProtocol.java:589)
>> > > > at
>> > > >
>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEnd
>> > > poi
>> > > nt
>> > > .java:310)
>> > > > at
>> > > >
>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecu
>> > > tor
>> > > .j
>> > > ava:1110)
>> > > > at
>> > > >
>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> > > java:603)
>> > > > at java.lang.Thread.run(Thread.java:722)
>> > > >
>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>> > > >
>> > > > Best regards,
>> > > > Dmitry Volkov
>> > > >
>> > > >
>> > > >
>> > >
>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
to give some details it happens when an interceptor is not
serializable (see last method of
https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.java)
it should be easy to debug this method to see just the level upper
which bean you deserialize and then identify the missing interceptor.
can you try it?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2013/10/30 Romain Manni-Bucau <rm...@gmail.com>:
> Hi
>
> In a war no idea, maybe active tomcat FINE logs
>
> Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
>
>> Hi!
>>
>> I have just tested replication in tomee-1.6.0-20131030.065404-219. OWB Bug
>> seems to be fixed, but there is new one.
>> The First replication works perfect, but after session migration to
>> another node I've got following exeception:
>>
>> java.io.NotSerializableException: null is not serializable
>> at
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>> at
>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>> at
>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>> at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>> at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>> at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>> at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>> at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>> at
>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>> at
>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>> at
>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>> at
>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>> at
>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>> at
>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>> at
>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>> at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>> at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> After that session replication stops working at all. Unfortunately I can't
>> reproduce the issue with my sample application. Could you give me a clue how
>> to reproduce this in simple app?
>>
>> Regards,
>> Dmitry Volkov.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Gesendet: Dienstag, 6. August 2013 12:18
>> An: users@tomee.apache.org
>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> Hi,
>>
>> that's an OWB issue (no link with clustering)
>>
>> i'll push it over OWB list. Thanks for the report.
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> *Blog:
>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> *Github: https://github.com/rmannibucau*
>>
>>
>>
>> 2013/8/6 <dm...@eiskonzept.com>
>>
>> > Hi
>> >
>> > There is the sample app: https://github.com/eiskonzept/tomee
>> > Package the application and start two tomee instances with tomee maven
>> > plugin (maven profiles "node1" and "node2"). Then open /index.xhtml
>> > from application root.
>> >
>> > The issue can be reproduced when replicated CDI bean is intercepted by
>> > CDI interceptor.
>> >
>> >
>> >
>> > -----Ursprüngliche Nachricht-----
>> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> > Gesendet: Montag, 5. August 2013 10:10
>> > An: users@tomee.apache.org
>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>> >
>> > Hi
>> >
>> > can you reproduce it in a sample?
>> >
>> > *Romain Manni-Bucau*
>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> > *Blog: **http://rmannibucau.wordpress.com/*<
>> > http://rmannibucau.wordpress.com/>
>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> > *Github: https://github.com/rmannibucau*
>> >
>> >
>> >
>> > 2013/8/5 <dm...@eiskonzept.com>
>> >
>> > > I have tested replication with last 1.6.0-SNAPSHOT and got following
>> > > exception:
>> > >
>> > > java.io.NotSerializableException:
>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>> > > at
>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>> > > at
>> > >
>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > 1528)
>> > > at
>> > >
>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>> > > at
>> > >
>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java
>> > :1416)
>> > > at
>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > at
>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExterna
>> > l(DeltaRequest.java:392)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest
>> > .java:285)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.jav
>> > a:299)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>> > 143)
>> > > at
>> > >
>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abstr
>> > actReplicatedMap.java:424)
>> > > at
>> > >
>> > org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupMa
>> > nager.java:104)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java
>> > :539)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationVal
>> > ve.java:526)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMess
>> > age(ReplicationValve.java:508)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(Rep
>> > licationValve.java:421)
>> > > at
>> > >
>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.ja
>> > va:345)
>> > > at
>> > >
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>> > :408)
>> > > at
>> > >
>> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp1
>> > 1Processor.java:1023)
>> > > at
>> > >
>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
>> > bstractProtocol.java:589)
>> > > at
>> > >
>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint
>> > .java:312)
>> > > at
>> > >
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
>> > ava:1110)
>> > > at
>> > >
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> > java:603)
>> > > at java.lang.Thread.run(Thread.java:722)
>> > >
>> > > -----Ursprüngliche Nachricht-----
>> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> > > Gesendet: Freitag, 2. August 2013 16:15
>> > > An: users@tomee.apache.org
>> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>> > >
>> > > Hi,
>> > >
>> > > just commited sthg about it, not sure it is linked but i think so.
>> > >
>> > > *Romain Manni-Bucau*
>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>> > > http://rmannibucau.wordpress.com/>
>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> > > *Github: https://github.com/rmannibucau*
>> > >
>> > >
>> > >
>> > > 2013/8/2 <dm...@eiskonzept.com>
>> > >
>> > > > Hi!
>> > > >
>> > > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT and
>> > > > got following exception:
>> > > >
>> > > > java.io.NotSerializableException:
>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > > 1528)
>> > > > at
>> > > >
>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
>> > 3)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
>> > > va
>> > > :1416)
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > > 1528)
>> > > > at
>> > > >
>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
>> > 3)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
>> > > va
>> > > :1416)
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>> > > 1528)
>> > > > at
>> > > >
>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
>> > 3)
>> > > > at
>> > > >
>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
>> > > va
>> > > :1416)
>> > > > at
>> > > >
>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>> > > > at
>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExter
>> > > na
>> > > l(DeltaRequest.java:392)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaReque
>> > > st
>> > > .java:285)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.j
>> > > av
>> > > a:299)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>> > > 143)
>> > > > at
>> > > >
>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abs
>> > > tr
>> > > actReplicatedMap.java:424)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backup
>> > > Ma
>> > > nager.java:104)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.ja
>> > > va
>> > > :539)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationV
>> > > al
>> > > ve.java:526)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMe
>> > > ss
>> > > age(ReplicationValve.java:508)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(R
>> > > ep
>> > > licationValve.java:421)
>> > > > at
>> > > >
>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>> > > ja
>> > > va:345)
>> > > > at
>> > > >
>> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja
>> > > va
>> > > :408)
>> > > > at
>> > > >
>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHtt
>> > > p1
>> > > 1Processor.java:1023)
>> > > > at
>> > > >
>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process
>> > > (A
>> > > bstractProtocol.java:589)
>> > > > at
>> > > >
>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoi
>> > > nt
>> > > .java:310)
>> > > > at
>> > > >
>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor
>> > > .j
>> > > ava:1110)
>> > > > at
>> > > >
>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> > > java:603)
>> > > > at java.lang.Thread.run(Thread.java:722)
>> > > >
>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
>> > > >
>> > > > Best regards,
>> > > > Dmitry Volkov
>> > > >
>> > > >
>> > > >
>> > >
>> >
Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi
In a war no idea, maybe active tomcat FINE logs
Le 30 oct. 2013 19:14, <dm...@eiskonzept.com> a écrit :
> Hi!
>
> I have just tested replication in tomee-1.6.0-20131030.065404-219. OWB Bug
> seems to be fixed, but there is new one.
> The First replication works perfect, but after session migration to
> another node I've got following exeception:
>
> java.io.NotSerializableException: null is not serializable
> at
> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
> at
> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
> at
> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
> at
> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
> at
> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
> at
> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
> at
> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
> at
> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
> at
> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
> at
> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
> at
> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
> at
> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
> at
> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
> at
> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> After that session replication stops working at all. Unfortunately I can't
> reproduce the issue with my sample application. Could you give me a clue
> how to reproduce this in simple app?
>
> Regards,
> Dmitry Volkov.
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Gesendet: Dienstag, 6. August 2013 12:18
> An: users@tomee.apache.org
> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Hi,
>
> that's an OWB issue (no link with clustering)
>
> i'll push it over OWB list. Thanks for the report.
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<
> http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/8/6 <dm...@eiskonzept.com>
>
> > Hi
> >
> > There is the sample app: https://github.com/eiskonzept/tomee
> > Package the application and start two tomee instances with tomee maven
> > plugin (maven profiles "node1" and "node2"). Then open /index.xhtml
> > from application root.
> >
> > The issue can be reproduced when replicated CDI bean is intercepted by
> > CDI interceptor.
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> > Gesendet: Montag, 5. August 2013 10:10
> > An: users@tomee.apache.org
> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
> >
> > Hi
> >
> > can you reproduce it in a sample?
> >
> > *Romain Manni-Bucau*
> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > *Blog: **http://rmannibucau.wordpress.com/*<
> > http://rmannibucau.wordpress.com/>
> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > *Github: https://github.com/rmannibucau*
> >
> >
> >
> > 2013/8/5 <dm...@eiskonzept.com>
> >
> > > I have tested replication with last 1.6.0-SNAPSHOT and got following
> > > exception:
> > >
> > > java.io.NotSerializableException:
> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
> > > at
> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
> > > at
> > >
> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> > 1528)
> > > at
> > >
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
> > > at
> > >
> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java
> > :1416)
> > > at
> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > > at
> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExterna
> > l(DeltaRequest.java:392)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest
> > .java:285)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.jav
> > a:299)
> > > at
> > >
> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
> > 143)
> > > at
> > >
> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abstr
> > actReplicatedMap.java:424)
> > > at
> > >
> > org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupMa
> > nager.java:104)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java
> > :539)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationVal
> > ve.java:526)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMess
> > age(ReplicationValve.java:508)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(Rep
> > licationValve.java:421)
> > > at
> > >
> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.ja
> > va:345)
> > > at
> > >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :408)
> > > at
> > >
> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp1
> > 1Processor.java:1023)
> > > at
> > >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> > bstractProtocol.java:589)
> > > at
> > >
> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint
> > .java:312)
> > > at
> > >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1110)
> > > at
> > >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:603)
> > > at java.lang.Thread.run(Thread.java:722)
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> > > Gesendet: Freitag, 2. August 2013 16:15
> > > An: users@tomee.apache.org
> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
> > >
> > > Hi,
> > >
> > > just commited sthg about it, not sure it is linked but i think so.
> > >
> > > *Romain Manni-Bucau*
> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > > *Blog: **http://rmannibucau.wordpress.com/*<
> > > http://rmannibucau.wordpress.com/>
> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > > *Github: https://github.com/rmannibucau*
> > >
> > >
> > >
> > > 2013/8/2 <dm...@eiskonzept.com>
> > >
> > > > Hi!
> > > >
> > > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT and
> > > > got following exception:
> > > >
> > > > java.io.NotSerializableException:
> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
> > > > at
> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
> > > > at
> > > >
> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> > > 1528)
> > > > at
> > > >
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
> > 3)
> > > > at
> > > >
> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
> > > va
> > > :1416)
> > > > at
> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > > > at
> > > >
> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> > > 1528)
> > > > at
> > > >
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
> > 3)
> > > > at
> > > >
> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
> > > va
> > > :1416)
> > > > at
> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > > > at
> > > >
> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> > > 1528)
> > > > at
> > > >
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149
> > 3)
> > > > at
> > > >
> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja
> > > va
> > > :1416)
> > > > at
> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> > > > at
> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
> > > > at
> > > >
> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExter
> > > na
> > > l(DeltaRequest.java:392)
> > > > at
> > > >
> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaReque
> > > st
> > > .java:285)
> > > > at
> > > >
> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.j
> > > av
> > > a:299)
> > > > at
> > > >
> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
> > > 143)
> > > > at
> > > >
> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abs
> > > tr
> > > actReplicatedMap.java:424)
> > > > at
> > > >
> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backup
> > > Ma
> > > nager.java:104)
> > > > at
> > > >
> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.ja
> > > va
> > > :539)
> > > > at
> > > >
> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationV
> > > al
> > > ve.java:526)
> > > > at
> > > >
> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMe
> > > ss
> > > age(ReplicationValve.java:508)
> > > > at
> > > >
> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(R
> > > ep
> > > licationValve.java:421)
> > > > at
> > > >
> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
> > > ja
> > > va:345)
> > > > at
> > > >
> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja
> > > va
> > > :408)
> > > > at
> > > >
> > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHtt
> > > p1
> > > 1Processor.java:1023)
> > > > at
> > > >
> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process
> > > (A
> > > bstractProtocol.java:589)
> > > > at
> > > >
> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoi
> > > nt
> > > .java:310)
> > > > at
> > > >
> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor
> > > .j
> > > ava:1110)
> > > > at
> > > >
> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > > java:603)
> > > > at java.lang.Thread.run(Thread.java:722)
> > > >
> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans.
> > > >
> > > > Best regards,
> > > > Dmitry Volkov
> > > >
> > > >
> > > >
> > >
> >
>