Thanks, And sorry for a little bit confusing test I provided.
2016-02-16 13:46 GMT+02:00 Vladimir Ozerov <voze...@gridgain.com>: > Myron, > Thank you for pointing this. it looks like we violate stream contract > because regular Java ObjectOutputStream will return -1 in this case. > Forwarding to dev list. > > Igniters, > As Myron mentioned, out implementation of ObjectInput returns 0 when > performing ObjectInput.read(byte[]) and there is no more array data > available. To the contrast, Java's ObjectInputStream returns -1 in this > case. > Looks like we should fix that. > > Thoughts? > > Vladimir. > > On Mon, Feb 15, 2016 at 10:32 PM, Myron Chelyada <myron.chely...@gmail.com > > wrote: > >> Hello Alexey, >> >> This is actually not real code but just extracted part for test. That's >> why it looks incorrect. >> And I've already captured infinite loop because of 0 being returned. And >> imagine use case when I need to read until end of stream. So question is >> why 0 is returned but not -1 (according to API). >> >> >> 2016-02-15 21:10 GMT+02:00 Dmitriy Setrakyan <dsetrak...@apache.org>: >> >>> Alexey, is this something that Ignite could prevent automatically? >>> >>> On Mon, Feb 15, 2016 at 10:17 AM, Alexey Goncharuk < >>> alexey.goncha...@gmail.com> wrote: >>> >>>> A little correction: in this particular case inputStream does return 0 >>>> which leads to an infinite loop, however, generally this may be not the >>>> case, so the implementation should not read beyond object boundary anyways. >>>> >>> >>> >> >