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

Ying Zheng updated FALCON-1969:
-------------------------------
    Description: 
Current CLI infrastructure only shows "Internal Server Error" when there is a 
server-side error. Should print error details on client side for the user to 
better understand the cause.

See one example output from CLI and Falcon server log below. The CLI doesn't 
provide any detailed hints when the user forgets to add the required jobName 
property in the input. This information can only be found in Falcon server log. 
We should provide the hint "Missing extension property: jobClusterName" on CLI 
as well.

{code}
[hrt_qa@os-r6-kvphku-falcon-multicluster-15 falcon]$ falcon extension -submit 
-extensionName hdfs-mirroring -file hdfs-mirroring.properties
Hadoop home is set, adding libraries from 
'/usr/hdp/2.5.0.0-435/hadoop/bin/hadoop classpath' into falcon classpath
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in 
[jar:file:/grid/0/hdp/2.5.0.0-435/falcon/client/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in 
[jar:file:/grid/0/hdp/2.5.0.0-435/falcon/client/lib/falcon-cli-0.10.0.2.5.0.0-435.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in 
[jar:file:/grid/0/hdp/2.5.0.0-435/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
ERROR: Internal Server Error;
{code}

{code}
2016-05-12 09:22:49,391 ERROR - [1579321407@qtp-1366342900-83 - 
ba49c221-048c-4784-ad05-0008be69a43b:hrt_qa:POST//extension/submit/hdfs-mirroring]
 ~ Error when submitting extension job:  (ExtensionManager:273)
org.apache.falcon.FalconException: Missing extension property: jobClusterName
        at 
org.apache.falcon.extensions.Extension.validateProperties(Extension.java:45)
        at org.apache.falcon.extensions.Extension.getEntities(Extension.java:68)
        at 
org.apache.falcon.resource.extensions.ExtensionManager.generateEntities(ExtensionManager.java:444)
        at 
org.apache.falcon.resource.extensions.ExtensionManager.submit(ExtensionManager.java:268)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        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:288)
        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)
{code}

  was:
Current CLI infrastructure only show "Internal Server Error" if there is a 
server-side error. Should print error details on client side for the user to 
better understand the cause.

See example output from CLI and Falcon server log below. The CLI doesn't 
provide any detailed hints when the user forgets to add the required jobName 
property in the input. This information can only be found in Falcon server log. 
We should provide the hint "Missing extension property: jobClusterName" on CLI 
as well.

{code}
[hrt_qa@os-r6-kvphku-falcon-multicluster-15 falcon]$ falcon extension -submit 
-extensionName hdfs-mirroring -file hdfs-mirroring.properties
Hadoop home is set, adding libraries from 
'/usr/hdp/2.5.0.0-435/hadoop/bin/hadoop classpath' into falcon classpath
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in 
[jar:file:/grid/0/hdp/2.5.0.0-435/falcon/client/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in 
[jar:file:/grid/0/hdp/2.5.0.0-435/falcon/client/lib/falcon-cli-0.10.0.2.5.0.0-435.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in 
[jar:file:/grid/0/hdp/2.5.0.0-435/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
ERROR: Internal Server Error;
{code}

{code}
2016-05-12 09:22:49,391 ERROR - [1579321407@qtp-1366342900-83 - 
ba49c221-048c-4784-ad05-0008be69a43b:hrt_qa:POST//extension/submit/hdfs-mirroring]
 ~ Error when submitting extension job:  (ExtensionManager:273)
org.apache.falcon.FalconException: Missing extension property: jobClusterName
        at 
org.apache.falcon.extensions.Extension.validateProperties(Extension.java:45)
        at org.apache.falcon.extensions.Extension.getEntities(Extension.java:68)
        at 
org.apache.falcon.resource.extensions.ExtensionManager.generateEntities(ExtensionManager.java:444)
        at 
org.apache.falcon.resource.extensions.ExtensionManager.submit(ExtensionManager.java:268)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        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:288)
        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)
{code}


> Provide server-side error details on CLI, if any
> ------------------------------------------------
>
>                 Key: FALCON-1969
>                 URL: https://issues.apache.org/jira/browse/FALCON-1969
>             Project: Falcon
>          Issue Type: Bug
>            Reporter: Ying Zheng
>            Assignee: Ying Zheng
>
> Current CLI infrastructure only shows "Internal Server Error" when there is a 
> server-side error. Should print error details on client side for the user to 
> better understand the cause.
> See one example output from CLI and Falcon server log below. The CLI doesn't 
> provide any detailed hints when the user forgets to add the required jobName 
> property in the input. This information can only be found in Falcon server 
> log. We should provide the hint "Missing extension property: jobClusterName" 
> on CLI as well.
> {code}
> [hrt_qa@os-r6-kvphku-falcon-multicluster-15 falcon]$ falcon extension -submit 
> -extensionName hdfs-mirroring -file hdfs-mirroring.properties
> Hadoop home is set, adding libraries from 
> '/usr/hdp/2.5.0.0-435/hadoop/bin/hadoop classpath' into falcon classpath
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in 
> [jar:file:/grid/0/hdp/2.5.0.0-435/falcon/client/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in 
> [jar:file:/grid/0/hdp/2.5.0.0-435/falcon/client/lib/falcon-cli-0.10.0.2.5.0.0-435.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in 
> [jar:file:/grid/0/hdp/2.5.0.0-435/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
> explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> ERROR: Internal Server Error;
> {code}
> {code}
> 2016-05-12 09:22:49,391 ERROR - [1579321407@qtp-1366342900-83 - 
> ba49c221-048c-4784-ad05-0008be69a43b:hrt_qa:POST//extension/submit/hdfs-mirroring]
>  ~ Error when submitting extension job:  (ExtensionManager:273)
> org.apache.falcon.FalconException: Missing extension property: jobClusterName
>         at 
> org.apache.falcon.extensions.Extension.validateProperties(Extension.java:45)
>         at 
> org.apache.falcon.extensions.Extension.getEntities(Extension.java:68)
>         at 
> org.apache.falcon.resource.extensions.ExtensionManager.generateEntities(ExtensionManager.java:444)
>         at 
> org.apache.falcon.resource.extensions.ExtensionManager.submit(ExtensionManager.java:268)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         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:288)
>         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)
> {code}



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

Reply via email to