You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/09/20 18:47:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=16622512#comment-16622512 ] 

ASF GitHub Bot commented on THRIFT-4641:
----------------------------------------

sokac opened a new pull request #1598: THRIFT-4641: Check HTTP Status Code in TCurlClient
URL: https://github.com/apache/thrift/pull/1598
 
 
   Tested and deployed on our production system. The change changes behavior for TCurlClient when non-200 response is received. However, other languages, such as Java and go do check for status code.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> 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
>            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)