[ 
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.

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.


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

Reply via email to