You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "YaoHaishi (JIRA)" <ji...@apache.org> on 2018/09/12 07:38:00 UTC

[jira] [Updated] (SCB-905) Request connection is hang up when request path contains illegal string

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

YaoHaishi updated SCB-905:
--------------------------
    Description: 
When provider receives a request that contains illegal path params like "%%E", an Exception
java.lang.NumberFormatException: For input string: "%E"
is thrown and no response is sent. On consumer side it seems like that the request connection is hang up until the request timed out.

The root cause is that there is no failure handler to handle the NumberFormatException. As a result, the request process is interrupted and no response is returned.

Usually it only happens in EdgeService because for Router.routeWithRegex(String) the % encoded string is decoded like above, while for Router.route() the path is not processed in such way. In EdgeService routeWithRegex() is usually used, and in normal provide, we use route() instead.

  was:
When provider receives a request that contains illegal path params like "%%E", an Exception
java.lang.NumberFormatException: For input string: "%E"
is thrown and no response is sent. On consumer side it seems like that the request connection is hang up until the request timed out.

The root cause is that there is no failure handler to handle the NumberFormatException. As a result, the request process is interrupted and no response is returned.


> Request connection is hang up when request path contains illegal string
> -----------------------------------------------------------------------
>
>                 Key: SCB-905
>                 URL: https://issues.apache.org/jira/browse/SCB-905
>             Project: Apache ServiceComb
>          Issue Type: Bug
>            Reporter: YaoHaishi
>            Assignee: YaoHaishi
>            Priority: Major
>
> When provider receives a request that contains illegal path params like "%%E", an Exception
> java.lang.NumberFormatException: For input string: "%E"
> is thrown and no response is sent. On consumer side it seems like that the request connection is hang up until the request timed out.
> The root cause is that there is no failure handler to handle the NumberFormatException. As a result, the request process is interrupted and no response is returned.
> Usually it only happens in EdgeService because for Router.routeWithRegex(String) the % encoded string is decoded like above, while for Router.route() the path is not processed in such way. In EdgeService routeWithRegex() is usually used, and in normal provide, we use route() instead.



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