You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King III (JIRA)" <ji...@apache.org> on 2018/09/21 17:28:00 UTC

[jira] [Resolved] (THRIFT-4641) TCurlClient doesn't check for HTTP status code

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

James E. King III resolved THRIFT-4641.
---------------------------------------
    Resolution: Fixed
      Assignee: James E. King III

Committed - thanks.

> TCurlClient doesn't check for HTTP status code
> ----------------------------------------------
>
>                 Key: THRIFT-4641
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4641
>             Project: Thrift
>          Issue Type: Bug
>          Components: PHP - Library
>    Affects Versions: 0.11.0
>            Reporter: Josip Sokcevic
>            Assignee: James E. King III
>            Priority: Major
>             Fix For: 0.12.0
>
>         Attachments: 0001-THRIFT-4641-Check-HTTP-Status-Code-in-TCurlClient.patch
>
>
> TCurlClient doesn't check for HTTP status code. Other languages, such as Go and Java do check for it. This can lead to potentially wrong exception being thrown: TProtocolException instead of TTransportException. To be more precise, TCurlTransport doesn't error out and Protocol starts to parse response, which may lead to TProtocolException. For example, AWS ALB may return 502 Bad Gateway with HTML as part of payload when there's an issue with an upstream. In such case, a client may want to retry but it only makes sense if there's a transport exception.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)