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 <[email protected]>:
> 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 <[email protected]>:
>> 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