Thanks for the comments. I have done check to the existing schema through the BinaryUtils.FLAG_HAS_SCHEMA flag [1].
Also, I have checked other places where we can try to read not initialized schema and found that BinaryObjectBuilderImpl.ensureReadCacheInit() method can do it. If we try to get from the BinaryObject, which contains no fields, any field through BinaryObjectBuilder, it will throw an exception. I have fixed this bug and suggest to include it in this issue. Please, review [2]. Tests look good [3]. 1. https://issues.apache.org/jira/browse/IGNITE-6692 2. https://reviews.ignite.apache.org/ignite/review/IGNT-CR-381 3. https://ci.ignite.apache.org/project.html?projectId=Ignite20Tests&tab=projectOverview&branch_Ignite20Tests=pull%2F2918%2Fhead 2017-10-28 18:29 GMT+03:00 Dmitriy Setrakyan <dsetrak...@apache.org>: > On Fri, Oct 27, 2017 at 11:11 AM, Vladimir Ozerov <voze...@gridgain.com> > wrote: > > > Nikita, > > > > I am afraid this is incorrect fix, since zero is valid hash for schema. > We > > control whether the schema is est through the flag > > BinaryUtils.FLAG_HAS_SCHEMA. Please try using it instead. > > > > Vladimir, in that case how come the tests passed? Do we need to add a new > test to enforce this scenario? > -- Best wishes, Amelchev Nikita