[ 
https://issues.apache.org/jira/browse/GEODE-2294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15819105#comment-15819105
 ] 

Kevin Duling edited comment on GEODE-2294 at 1/11/17 8:51 PM:
--------------------------------------------------------------

This problem is not related to the function itself or gfsh.  It's with the REST 
controller, which is why the component is marked as {{rest (dev)}}.  It is in 
the execute() method in 
{{org.apache.geode.rest.internal.web.controllers.FunctionAccessController}}.  
The only way to reproduce this is via a REST client, be it Swagger, Postman, 
curl or whatever.

The controller attempts to validate all of the parameters prior to actually 
executing the function.  If an exception is thrown at this stage, it is caught 
and wrapped in to a GemfireRestException, assigned a text error, and rethrown 
so that the comm framework will return an error to the requesting client.

What should be happening is that the exception should be captured by 
BaseControllerAdvice and properly wrapped in to a well-formed JSON response.

The specific error doesn't matter, it's the fact that GemFireRestExeption isn't 
being handled properly by the REST framework to return a well-formed error code 
and message.


was (Author: kduling):
This problem is not related to the function itself or gfsh.  It's with the REST 
controller, which is why the component is marked as {{rest (dev)}}.  It is in 
the execute() method in 
{{org.apache.geode.rest.internal.web.controllers.FunctionAccessController}}.  
The only way to reproduce this is via a REST client, be it Swagger, Postman, 
curl or whatever.

When an exception is thrown, it is caught and wrapped in to a 
GemfireRestException, assigned a text error, and rethrown.

What should be happening is that the exception should be captured by 
BaseControllerAdvice and properly wrapped in to a well-formed JSON response.

The specific error doesn't matter, it's the fact that GemFireRestExeption isn't 
being handled properly by the REST framework to return a well-formed error code 
and message.

> When attempting to execute a function via Dev Rest API, error messages are 
> being lost
> -------------------------------------------------------------------------------------
>
>                 Key: GEODE-2294
>                 URL: https://issues.apache.org/jira/browse/GEODE-2294
>             Project: Geode
>          Issue Type: Bug
>          Components: rest (dev)
>            Reporter: Kevin Duling
>
> In FunctionAccessController:
> While debugging the execution of a function via the REST API, a null-pointer 
> exception was thrown and should have returned the error:
> {{Specified key is null and this region does not permit null keys!}}
> instead, an error code of 0 is returned with the message:
> {code}
> {
>   "error": "no response from server"
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to