Sebastian Toader created AMBARI-13951:
-----------------------------------------

             Summary: Service install will fail if the property-type attribute 
of any service config property has a value in a stack not known to ambari-server
                 Key: AMBARI-13951
                 URL: https://issues.apache.org/jira/browse/AMBARI-13951
             Project: Ambari
          Issue Type: Bug
            Reporter: Sebastian Toader
            Assignee: Sebastian Toader


If any property in stack definition has a random property-type , then create 
configuration API fails with the runtime exception as shown below and request 
never comes back with any response.
{code}
java.lang.RuntimeException: Unable to serialize to json: 
org.codehaus.jackson.JsonGenerationException: Null key for a Map not allowed in 
JSON (use a converting NullKeySerializer?)
        at 
org.apache.ambari.server.api.services.serializers.JsonSerializer.serialize(JsonSerializer.java:71)
        at 
org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:113)
        at 
org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:74)
        at 
org.apache.ambari.server.api.services.ClusterService.updateCluster(ClusterService.java:151)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        at 
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
        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.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:540)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
        at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
        at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
Caused by: org.codehaus.jackson.JsonGenerationException: Null key for a Map not 
allowed in JSON (use a converting NullKeySerializer?)
        at 
org.codehaus.jackson.map.ser.impl.FailingSerializer.serialize(FailingSerializer.java:34)
        at 
org.codehaus.jackson.map.ser.std.MapSerializer.serializeFields(MapSerializer.java:237)
        at 
org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:186)
        at 
org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:23)
        at 
org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
        at 
org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
        at 
org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
        at 
org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
{code}



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

Reply via email to