You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2019/11/02 14:05:00 UTC

[jira] [Resolved] (THRIFT-4989) Run time exception when using TCompactProtocol

     [ https://issues.apache.org/jira/browse/THRIFT-4989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jens Geyer resolved THRIFT-4989.
--------------------------------
    Fix Version/s: 0.14.0
       Resolution: Fixed

Committed, thanks!

> Run time exception when using TCompactProtocol
> ----------------------------------------------
>
>                 Key: THRIFT-4989
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4989
>             Project: Thrift
>          Issue Type: Bug
>          Components: Swift - Compiler
>    Affects Versions: 0.13.0
>            Reporter: David Furey
>            Assignee: David Furey
>            Priority: Minor
>             Fix For: 0.14.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> When serialising a struct using the TCompactProtocol we have discovered a run-time error on line [https://github.com/apache/thrift/blob/08a6eb6e1f21aa15682e414e124d7ee1a51a39c7/lib/swift/Sources/TCompactProtocol.swift#L474]
> The Swift implementation of TCompactProtocol assumes that the properties of autogenerated classes for Thrift Structs will be ordered by field key, but the current behaviour of the generator preserves the order from the original thrift definitions  These are not required to be ordered by field key.
> Either the Swift lib needs to check for out-of-order properties, or the generator should order properties.  Since the generator is only executed once and the Swift lib runs every time a message is serialised, I think it makes more sense to make this change in the generator.
>  I've made the necessary change, and will soon open a PR.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)