You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/10/17 10:24:00 UTC

[jira] [Commented] (IGNITE-5839) Unclear exception from BinaryObjectBuilder::build call when builder is reused

    [ https://issues.apache.org/jira/browse/IGNITE-5839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16207258#comment-16207258 ] 

ASF GitHub Bot commented on IGNITE-5839:
----------------------------------------

Github user AMashenkov closed the pull request at:

    https://github.com/apache/ignite/pull/2532


> Unclear exception from BinaryObjectBuilder::build call when builder is reused
> -----------------------------------------------------------------------------
>
>                 Key: IGNITE-5839
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5839
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.1
>            Reporter: Sergey Chugunov
>            Assignee: Andrew Mashenkov
>             Fix For: 2.3
>
>
> Simple test where {{BinaryObjectBuilder}} builder object is reused fails with exception {noformat}org.apache.ignite.binary.BinaryObjectException: Wrong value has been set [typeName=SimpleCls, fieldName=str, fieldType=String, assignedValueType=Object]{noformat}
> {noformat}
>         IgniteCache<Object, Object> cache = /* obtain a reference to withKeepBinary cache instance */;
>         BinaryObjectBuilder bldr = grid(0).binary().builder("SimpleCls");
>         bldr.setField("str", "abc");
>         c.put(0, bldr.build());
>         bldr.setField("str", null);
>         c.put(1, bldr.build());
>         bldr.setField("str", "def");
>         c.put(2, bldr.build()); //exception will be thrown by call bldr.build()
> {noformat}
> It can be fixed by simply recreating BinaryObjectBuilder instead of reusing the same instance. 
> However reusing builder object must be either explicitly prohibited or exception must be fixed.
> Right now documentation on builder class says nothing about reusing this object.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)