You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Adam Millerchip (JIRA)" <ji...@apache.org> on 2016/02/02 09:20:39 UTC

[jira] [Created] (THRIFT-3595) Perl Bindings: Set serialization/dezerialization differs

Adam Millerchip created THRIFT-3595:
---------------------------------------

             Summary: Perl Bindings: Set serialization/dezerialization differs
                 Key: THRIFT-3595
                 URL: https://issues.apache.org/jira/browse/THRIFT-3595
             Project: Thrift
          Issue Type: Bug
          Components: Perl - Compiler
    Affects Versions: 0.9.3, 0.9.2, 0.9.1
            Reporter: Adam Millerchip
            Priority: Minor


In the Perl bindings, a Thrift Set is dezerialized as a hashref, but the serialization code expects an arrayref. This causes the code to die when called if attempting to serialize a previously dezerialized Set.

Additionally, it looks like there is a typo in the test that is testing this feature:

https://github.com/apache/thrift/blob/49f4dc0cd8c87213a0f80ae1daba2d094a358ea7/test/perl/TestClient.pl#L262

If you change that {{@$setout}} to {{@$setin}}, the test fails.

It doesn't make much sense to implement a Set in Perl as array, because arrays allow duplicate entries and are ordered.

I've written a change for the serialization that correctly expects a hashref (will link to shortly).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)