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)

Reply via email to