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  <[email protected]>:
> 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:[email protected]]
> Gesendet: Donnerstag, 31. Oktober 2013 06:51
> An: [email protected]
> 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 <[email protected]>:
>> Hi
>>
>> In a war no idea, maybe active tomcat FINE logs
>>
>> Le 30 oct. 2013 19:14, <[email protected]> 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:[email protected]]
>>> Gesendet: Dienstag, 6. August 2013 12:18
>>> An: [email protected]
>>> 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 <[email protected]>
>>>
>>> > 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:[email protected]]
>>> > Gesendet: Montag, 5. August 2013 10:10
>>> > An: [email protected]
>>> > 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 <[email protected]>
>>> >
>>> > > 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:[email protected]]
>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>> > > An: [email protected]
>>> > > 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 <[email protected]>
>>> > >
>>> > > > 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
>>> > > >
>>> > > >
>>> > > >
>>> > >
>>> >

Reply via email to