Pavel Tupitsyn created IGNITE-20375:
---------------------------------------
Summary: Thin 3.0: Review packArrayHeader usage
Key: IGNITE-20375
URL: https://issues.apache.org/jira/browse/IGNITE-20375
Project: Ignite
Issue Type: Improvement
Components: thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
Fix For: 3.0.0-beta2
Ignite 3.x client protocol uses MsgPack for message serialization. In some
places we use *packArrayHeader* incorrectly, for example,
[ClientCompute.packJob|https://github.com/apache/ignite-3/blob/fa8d626f57e3497289c0aaa1bfa8efd19f1042f7/modules/client/src/main/java/org/apache/ignite/internal/client/compute/ClientCompute.java#L330]:
{code:java}
w.packArrayHeader(units.size());
for (DeploymentUnit unit : units) {
w.packString(unit.name());
w.packString(unit.version().render());
}
{code}
We pack 2N items for an array of size N, and in some cases those items can be
of different type.
This creates issues with some MsgPack implemetations, such as the one used in
C++ client.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)