Am 30.10.2012 18:01, schrieb Tatu Saloranta:
> You may want to see how serializer/deserializer in
>
> https://github.com/eishay/jvm-serializers
>
> is done -- Martin wrote it (or at least modified & has maintained it),
> so it should be along best practices.
>
> -+ Tatu +-

This is only best practice for non concurrent access. The unittests
are executed one by one so the implementation using one byte array
is not a problem but this cannot be threadsafe.

This applies to this one as well. Never use this implementation in
concurrent environments :-)
https://github.com/eishay/jvm-serializers/blob/kannan/tpc/src/serializers/Kryo.java

> On Tue, Oct 30, 2012 at 9:33 AM, Simone Tripodi
> <[email protected]> wrote:
>>> Take care of the field private final Kryo kryo; too.
>>> Is this class declared as thread safe ?
>> IIRC, yes, a Kryo instance should be thread safe, but much better is
>> we double check - I just sent Martin a tweet message :P
>>
>> best,
>> -Simo
>>
>> http://people.apache.org/~simonetripodi/
>> http://simonetripodi.livejournal.com/
>> http://twitter.com/simonetripodi
>> http://www.99soft.org/
>>
>>
>> On Tue, Oct 30, 2012 at 4:43 PM, Olivier Lamy <[email protected]> wrote:
>>> 2012/10/29 Christoph Engelbert <[email protected]>:
>>>> Hey guys,
>>>>
>>>> while having a look how to implement the Lightning Serializer
>>>> adapter I recognized that maybe the current implementation of the
>>>> KryoSerializer and maybe some more could be absolutely thread unsafe.
>>>>
>>>>     private final byte[] buffer = new byte[ BUFFER_SIZE ];
>>>>     private final Output output = new Output( buffer, -1 );
>>>>     private final Input input = new Input( buffer );
>>>>
>>>> Only one byte[] buffer is used for serialization and
>>>> deserialization. Is somewhere deep in DM an instantiater hidden that
>>>> generates new instances of the serializer or will there be a problem
>>>> if different threads read / write at the same time?
>>> Yup you must write a KryoSerializer which is thread safe (others
>>> de/serializer are thread safe).
>>>
>>> Take care of the field private final Kryo kryo; too.
>>> Is this class declared as thread safe ?
>>>
>>>
>>>> Cheers Chris
>>>
>>>
>>> --
>>> Olivier Lamy
>>> Talend: http://coders.talend.com
>>> http://twitter.com/olamy | http://linkedin.com/in/olamy

Reply via email to