Tracking this as USERGRID-1304

HTTP 500 error when retrieving Entity via connection
https://issues.apache.org/jira/browse/USERGRID-1304


On Mon, Jun 20, 2016 at 3:55 PM Petteri Sulonen <
[email protected]> wrote:

> I noticed copy-pasting from my terminal screwed up the formatting.
> Here's a cleaned-up version of the curls; sorry about any confusion I
> may have caused:
>
> curl -X POST "http://localhost/udwc/brikoleur/token"; -d '{ "grant_type"
> : "password",  "username" : "abogdanov", "password" : "thepassword" }'
>
>
> {"access_token":"YWMtpgdKYDbyEeaD2zHg-adLzwAAAVWSPvYGkxL-sP9RrdRTbAGgQJijcOXcApE","expires_in":604800,"user":{"uuid":"2349d142-317a-11e6-9322-080027cf389a","type":"user","name":"Alexander
>
> Bogdanov","created":1465831132919,"modified":1465841524921,"username":"abogdanov","email":"
> [email protected]","activated":true,"picture":"
> http://www.gravatar.com/avatar/fd1ebc06694e703c1b0c64215890a865
> ","metadata":{"size":608},"repeatPassword":"thepassword"}}
>
> curl --header "Authorization: Bearer
> YWMtpgdKYDbyEeaD2zHg-adLzwAAAVWSPvYGkxL-sP9RrdRTbAGgQJijcOXcApE"
> "http://localhost/udwc/brikoleur/users/abogdanov/owns/things/ferrari";
>
>
> {"error":"uncaught","timestamp":1466432732273,"duration":0,"error_description":"Internal
> Server
>
> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"d87217ed-36f2-11e6-b273-080027cf389a"}
>
> BR, Petteri
>
> On 20/06/16 16:28, Petteri Sulonen wrote:
> > (1) Ubuntu 16.04 (64 bit, server), Tomcat 7.0.68, Cassandra 2.2.6,
> > Elasticsearch 1.4.4.
> > (2) Here are the curls, with responses. Note that I've set up rights
> > as described in my original mail. I've also put Usergride behind
> > Apache so it listens at port 80.
> >
> > root@vmu-psulonen2:~# curl -X POST
> > "http://localhost/udwc/brikoleur/token
> > <http://localhost/udwc/brikoleur/token>" -d '{ "grant_type" :
> > "password",  "username" : "abogdanov", "password" : "thepassword" }'
> >
> {"access_token":"YWMtpgdKYDbyEeaD2zHg-adLzwAAAVWSPvYGkxL-sP9RrdRTbAGgQJijcOXcApE","expires_in":604800,"user":{"uuid":"2349d142-317a-11e6-9322-080027cf389a","type":"user","name":"Alexander
> >
> Bogdanov","created":1465831132919,"modified":1465841524921,"username":"abogdanov","email":"
> [email protected]
> > <mailto:[email protected]>","activated":true,"picture":"
> http://www.gravatar.com/avatar/fd1ebc06694e703c1b0c64215890a865
> > <http://www.gravatar.com/avatar/fd1ebc06694e703c1b0c64215890a865
> >","metadata":{"size":608},"repeatPassword":"thepassword"}}root@vmu-psulonen2
> :~#
> >
> > root@vmu-psulonen2:~# curl --header "Authorization: Bearer
> > YWMtpgdKYDbyEeaD2zHg-adLzwAAAVWSPvYGkxL-sP9RrdRTbAGgQJijcOXcApE"
> > "http://localhost/udwc/brikoleur/users/abogdanov/owns/things/ferrari
> > <http://localhost/udwc/brikoleur/users/abogdanov/owns/things/ferrari>"
> >
> {"error":"uncaught","timestamp":1466432732273,"duration":0,"error_description":"Internal
> > Server
> >
> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"d87217ed-36f2-11e6-b273-080027cf389a"}root@vmu-psulonen2
> :~#
> >
> > BR, Petteri
> >
> > On 20/06/16 15:36, Dave wrote:
> >> Thanks Petteri.
> >>
> >> I can see that this is caused by a null pointer exception after a
> >> query is executed, inside Usergrid -- but it is not clear what is
> >> going on. I should have asked for a couple of other pieces of
> >> information. This info would be helpful:
> >>
> >> * What versions of operating system, Tomcat, Cassandra,
> >> ElasticSearch, Usergrid are you using?
> >>
> >> And this would be very very helpful:
> >>
> >> * Provide a curl command (or series of commands) that can reproduce
> >> the error
> >>
> >> Thanks,
> >> Dave
> >>
> >>
> >>
> >> On Fri, Jun 17, 2016 at 1:40 AM Petteri Sulonen
> >> <[email protected] <mailto:[email protected]>>
> >> wrote:
> >>
> >>     Hi --
> >>
> >>     Here's a dump of what's in catalina.out for the problem request.
> >>
> >>     /Petteri
> >>
> >>     04:44:47,649  INFO DB:536 - getColumns returned 9 columns
> >>     04:44:47,651  INFO DB:536 - getColumns returned 9 columns
> >>     04:44:47,653  INFO UsersResource:98 -
> >> ServiceResource.addNameParameter
> >>     04:44:47,655  INFO UsersResource:100 - Current segment is me
> >>     04:44:47,669  INFO DB:536 - getColumns returned 9 columns
> >>     04:44:47,673  INFO DB:388 - getColumns cf=Entity_Dictionaries
> >>     key=b8f8f336-30c9-3553-b447-6891f3e1e6bf:permissions
> >>     04:44:47,675  INFO DB:404 - getColumns returned 2 columns
> >>     04:44:47,678  INFO DB:388 - getColumns cf=Entity_Dictionaries
> >>     key=2349d142-317a-11e6-9322-080027cf389a:permissions
> >>     04:44:47,679  INFO DB:404 - getColumns returned 0 columns
> >>     04:44:47,680  INFO DB:388 - getColumns cf=Entity_Dictionaries
> >>     key=2349d142-317a-11e6-9322-080027cf389a:rolenames
> >>     04:44:47,682  INFO DB:404 - getColumns returned 0 columns
> >>     04:44:47,691  INFO DB:388 - getColumns
> >>     cf=Entity_Composite_Dictionaries
> >>     key=834fdec4-2e11-11e6-b255-080027cf389a:orgconfig
> >>     04:44:47,692  INFO DB:404 - getColumns returned 0 columns
> >>     04:44:47,711 ERROR ThrowableMapper:35 - An uncaught exception
> >> occurred
> >>     during HTTP invocation
> >>     java.lang.NullPointerException
> >>     at
> >>
> org.apache.usergrid.services.AbstractConnectionsService.getItemByName(AbstractConnectionsService.java:243)
> >>     at
> >>
> org.apache.usergrid.services.AbstractService.invokeItemWithName(AbstractService.java:771)
> >>     at
> >>
> org.apache.usergrid.services.AbstractService.invoke(AbstractService.java:728)
> >>     at
> >>
> org.apache.usergrid.services.AbstractService.invoke(AbstractService.java:645)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.execute(ServiceRequest.java:245)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.invokeMultiple(ServiceRequest.java:281)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.execute(ServiceRequest.java:248)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.execute(ServiceRequest.java:212)
> >>     at
> >>
> org.apache.usergrid.rest.applications.ServiceResource.executeServiceRequest(ServiceResource.java:315)
> >>     at
> >>
> org.apache.usergrid.rest.applications.ServiceResource.executeGet(ServiceResource.java:361)
> >>     at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
> >>     at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >>     at java.lang.reflect.Method.invoke(Method.java:498)
> >>     at
> >>
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> >>     at
> >>
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
> >>     at
> >>
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:927)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:875)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:829)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >>     at
> >>
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> >>     at
> >>
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> >>     at
> >>
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> >>     at
> >>
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> >>     at
> >>
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> >>     at
> >>
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> >>     at
> >>
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> >>     at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
> >>     at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >>     at
> >>
> org.apache.usergrid.rest.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:92)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >>     at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
> >>     at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
> >>     at
> >>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
> >>     at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >>     at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >>     at
> >>
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
> >>     at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >>     at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
> >>     at
> >>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
> >>     at
> >>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
> >>     at
> >>     org.apache.tomcat.util.net
> >> <http://org.apache.tomcat.util.net
> >.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
> >>     at
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> >>     at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> >>     at
> >>
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >>     at java.lang.Thread.run(Thread.java:745)
> >>     04:44:47,714 ERROR AbstractExceptionMapper:72 -
> >>     org.apache.usergrid.rest.exceptions.UncaughtException 5XX Uncaught
> >>     Exception (500)
> >>     org.apache.usergrid.rest.exceptions.UncaughtException:
> >>     java.lang.NullPointerException
> >>     at
> >>
> org.apache.usergrid.rest.exceptions.AbstractExceptionMapper.toResponse(AbstractExceptionMapper.java:59)
> >>     at
> >>
> org.apache.usergrid.rest.exceptions.ThrowableMapper.toResponse(ThrowableMapper.java:37)
> >>     at
> >>
> com.sun.jersey.spi.container.ContainerResponse.mapException(ContainerResponse.java:480)
> >>     at
> >>
> com.sun.jersey.spi.container.ContainerResponse.mapMappableContainerException(ContainerResponse.java:417)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1477)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:927)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:875)
> >>     at
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:829)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >>     at
> >>
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> >>     at
> >>
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> >>     at
> >>
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> >>     at
> >>
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> >>     at
> >>
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> >>     at
> >>
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> >>     at
> >>
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> >>     at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
> >>     at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >>     at
> >>
> org.apache.usergrid.rest.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:92)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >>     at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >>     at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
> >>     at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
> >>     at
> >>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
> >>     at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >>     at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >>     at
> >>
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
> >>     at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >>     at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
> >>     at
> >>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
> >>     at
> >>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
> >>     at
> >>     org.apache.tomcat.util.net
> >> <http://org.apache.tomcat.util.net
> >.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
> >>     at
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> >>     at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> >>     at
> >>
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >>     at java.lang.Thread.run(Thread.java:745)
> >>     Caused by: java.lang.NullPointerException
> >>     at
> >>
> org.apache.usergrid.services.AbstractConnectionsService.getItemByName(AbstractConnectionsService.java:243)
> >>     at
> >>
> org.apache.usergrid.services.AbstractService.invokeItemWithName(AbstractService.java:771)
> >>     at
> >>
> org.apache.usergrid.services.AbstractService.invoke(AbstractService.java:728)
> >>     at
> >>
> org.apache.usergrid.services.AbstractService.invoke(AbstractService.java:645)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.execute(ServiceRequest.java:245)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.invokeMultiple(ServiceRequest.java:281)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.execute(ServiceRequest.java:248)
> >>     at
> >>
> org.apache.usergrid.services.ServiceRequest.execute(ServiceRequest.java:212)
> >>     at
> >>
> org.apache.usergrid.rest.applications.ServiceResource.executeServiceRequest(ServiceResource.java:315)
> >>     at
> >>
> org.apache.usergrid.rest.applications.ServiceResource.executeGet(ServiceResource.java:361)
> >>     at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
> >>     at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >>     at java.lang.reflect.Method.invoke(Method.java:498)
> >>     at
> >>
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> >>     at
> >>
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
> >>     at
> >>
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >>     at
> >>
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
> >>     at
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
> >>     ... 38 more
> >>     04:44:47,717 ERROR AbstractExceptionMapper:106 - Server Error (500):
> >>
> {"error":"uncaught","timestamp":1465872287717,"duration":0,"error_description":"Internal
> >>     Server
> >>
> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"f5752c99-31d9-11e6-b858-080027cf389a"}
> >>
> >>
> >>
> >>
> >>     On 16/06/16 22:43, Dave wrote:
> >>     > Hi Petteri,
> >>     >
> >>     > That's definitely a bug; Usergrid should never return HTTP 500
> >>     > internal server error unless Cassandra or ElasticSearch is
> >>     > inaccessible. Is there a stack trace that goes along with that
> >>     error?
> >>     >
> >>     > Dave
> >>     >
> >>     >
> >>     > On Tue, Jun 14, 2016 at 10:38 AM Petteri Sulonen
> >>     > <[email protected]
> >>     <mailto:[email protected]>
> >>     <mailto:[email protected]
> >>     <mailto:[email protected]>>>
> >>     > wrote:
> >>     >
> >>     >     Hi, everybody --
> >>     >
> >>     >     I'm evaluating Usergrid for our cloud services, and am
> >>     starting to
> >>     >     come
> >>     >     to grips with it. I have a question about error handling.
> >>     >
> >>     >     I've noticed that the errors Usergrid returns seem somewhat
> >>     >     inconsistent. For example, when attempting to GET an entity
> >> that
> >>     >     doesn't
> >>     >     exist directly from the collection (omitting org and app
> >>     from path for
> >>     >     clarity):
> >>     >
> >>     >     GET /things/ferrari
> >>     >
> >>     >     will return an error "entity_not_found", but attempting to
> >>     GET the
> >>     >     same
> >>     >     entity through a connection where I "own" the entity:
> >>     >
> >>     >     GET /users/me/owns/things/ferrari
> >>     >
> >>     >     will return an "uncaught" error, with error_description
> >>     "Internal
> >>     >     Server
> >>     >     Error."
> >>     >
> >>     >     Is this intentional? I was expecting to get an
> >>     "entity_not_found"
> >>     >     error
> >>     >     in both cases, as I think this would be a pretty common
> >>     situation to
> >>     >     have in a system where entities are created and deleted
> >>     dynamically.
> >>     >
> >>     >     (If /things/ferrari actually exists and I own it, both queries
> >>     >     return it
> >>     >     as expected, so that's cool.)
> >>     >
> >>     >     If I've understood the design intent behind Usergrid
> >>     correctly, these
> >>     >     connections are extremely important because I can map
> >>     permissions to
> >>     >     them. Therefore it's not always possible to access objects
> >>     directly
> >>     >     under the collection, as the user may only have permission
> >>     to access
> >>     >     objects through a connection (e.g. "owns"). I like this
> >>     scheme a lot,
> >>     >     it's simple, intuitive, yet powerful.
> >>     >
> >>     >     If I've misunderstood something, I would greatly appreciate
> >>     being set
> >>     >     straight.
> >>     >
> >>     >     Thanks in advance,
> >>     >
> >>     >     Petteri
> >>     >
> >>     >
> >>
> >>
> >
> >
>
>
>

Reply via email to