[
https://issues.apache.org/jira/browse/IGNITE-23157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn updated IGNITE-23157:
------------------------------------
Description:
If the user tries to upsert a tuple with an unsupported object inside, and
assertions are disabled, we get an NPE instead of a sensible exception.
{code}
var table = defaultTable().recordView();
var tuple = Tuple.create()
.set("id", DEFAULT_ID)
.set("name", new ArrayList<String>());
table.upsert(null, tuple);
{code}
{code}
java.lang.NullPointerException: null
at
org.apache.ignite.internal.client.proto.ClientBinaryTupleUtils.appendValue(ClientBinaryTupleUtils.java:444)
~[ignite-client-common-9.0.127-SNAPSHOT.jar:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.appendValue(ClientTupleSerializer.java:412)
~[main/:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTupleRaw(ClientTupleSerializer.java:147)
~[main/:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTuple(ClientTupleSerializer.java:121)
~[main/:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTuple(ClientTupleSerializer.java:77)
~[main/:?]
{code}
was:
{code}
java.lang.NullPointerException: null
at
org.apache.ignite.internal.client.proto.ClientBinaryTupleUtils.appendValue(ClientBinaryTupleUtils.java:444)
~[ignite-client-common-9.0.127-SNAPSHOT.jar:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.appendValue(ClientTupleSerializer.java:412)
~[main/:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTupleRaw(ClientTupleSerializer.java:147)
~[main/:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTuple(ClientTupleSerializer.java:121)
~[main/:?]
at
org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTuple(ClientTupleSerializer.java:77)
~[main/:?]
{code}
> NPE in ClientBinaryTupleUtils.appendValue on unknown type
> ---------------------------------------------------------
>
> Key: IGNITE-23157
> URL: https://issues.apache.org/jira/browse/IGNITE-23157
> Project: Ignite
> Issue Type: Bug
> Components: thin client
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0
>
>
> If the user tries to upsert a tuple with an unsupported object inside, and
> assertions are disabled, we get an NPE instead of a sensible exception.
> {code}
> var table = defaultTable().recordView();
> var tuple = Tuple.create()
> .set("id", DEFAULT_ID)
> .set("name", new ArrayList<String>());
> table.upsert(null, tuple);
> {code}
> {code}
> java.lang.NullPointerException: null
> at
> org.apache.ignite.internal.client.proto.ClientBinaryTupleUtils.appendValue(ClientBinaryTupleUtils.java:444)
> ~[ignite-client-common-9.0.127-SNAPSHOT.jar:?]
> at
> org.apache.ignite.internal.client.table.ClientTupleSerializer.appendValue(ClientTupleSerializer.java:412)
> ~[main/:?]
> at
> org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTupleRaw(ClientTupleSerializer.java:147)
> ~[main/:?]
> at
> org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTuple(ClientTupleSerializer.java:121)
> ~[main/:?]
> at
> org.apache.ignite.internal.client.table.ClientTupleSerializer.writeTuple(ClientTupleSerializer.java:77)
> ~[main/:?]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)