-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26963/#review61857
-----------------------------------------------------------


I have a couple of high level comments and an exception.

It seems like the LinkConfiguration and the ToJobConfiguration are holding the 
wrong pieces? For example, the dataset URI should be part of the 
LinkConfiguration and the data format (Avro, CSV, etc.) should be part of the 
job? Or perhaps they should all be part of the link configuration?

Also, I think there should be a validation step for the dataset for HDFS. We 
should check for "hdfs" type and require a host. It's fine for now for this to 
be a runtime exception, but let's log a separate Jira?

    Exception has occurred during processing command 
Exception: org.apache.sqoop.common.SqoopException Message: CLIENT_0001:Server 
has returned exception
Stack trace: 
         at  org.apache.sqoop.client.request.ResourceRequest 
(ResourceRequest.java:115) 
         at  org.apache.sqoop.client.request.ResourceRequest 
(ResourceRequest.java:148) 
         at  org.apache.sqoop.client.request.JobResourceRequest 
(JobResourceRequest.java:63) 
         at  org.apache.sqoop.client.request.SqoopResourceRequests 
(SqoopResourceRequests.java:116) 
         at  org.apache.sqoop.client.SqoopClient (SqoopClient.java:406) 
         at  org.apache.sqoop.shell.CreateJobFunction 
(CreateJobFunction.java:99) 
         at  org.apache.sqoop.shell.CreateJobFunction 
(CreateJobFunction.java:64) 
         at  org.apache.sqoop.shell.SqoopFunction (SqoopFunction.java:51) 
         at  org.apache.sqoop.shell.SqoopCommand (SqoopCommand.java:127) 
         at  org.apache.sqoop.shell.SqoopCommand (SqoopCommand.java:103) 
         at  org.codehaus.groovy.tools.shell.Command$execute (null:-1) 
         at  org.codehaus.groovy.tools.shell.Shell (Shell.groovy:101) 
         at  org.codehaus.groovy.tools.shell.Groovysh (Groovysh.groovy:-1) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:-2) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:57) 
         at  sun.reflect.DelegatingMethodAccessorImpl 
(DelegatingMethodAccessorImpl.java:43) 
         at  java.lang.reflect.Method (Method.java:606) 
         at  org.codehaus.groovy.reflection.CachedMethod (CachedMethod.java:90) 
         at  groovy.lang.MetaMethod (MetaMethod.java:233) 
         at  groovy.lang.MetaClassImpl (MetaClassImpl.java:1054) 
         at  org.codehaus.groovy.runtime.ScriptBytecodeAdapter 
(ScriptBytecodeAdapter.java:128) 
         at  org.codehaus.groovy.tools.shell.Groovysh (Groovysh.groovy:173) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:-2) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:57) 
         at  sun.reflect.DelegatingMethodAccessorImpl 
(DelegatingMethodAccessorImpl.java:43) 
         at  java.lang.reflect.Method (Method.java:606) 
         at  
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce
 (PogoMetaMethodSite.java:267) 
         at  org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite 
(PogoMetaMethodSite.java:52) 
         at  org.codehaus.groovy.runtime.callsite.AbstractCallSite 
(AbstractCallSite.java:141) 
         at  org.codehaus.groovy.tools.shell.Groovysh (Groovysh.groovy:121) 
         at  org.codehaus.groovy.tools.shell.Shell (Shell.groovy:114) 
         at  org.codehaus.groovy.tools.shell.Shell$leftShift$0 (null:-1) 
         at  org.codehaus.groovy.tools.shell.ShellRunner 
(ShellRunner.groovy:88) 
         at  org.codehaus.groovy.tools.shell.InteractiveShellRunner 
(InteractiveShellRunner.groovy:-1) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:-2) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:57) 
         at  sun.reflect.DelegatingMethodAccessorImpl 
(DelegatingMethodAccessorImpl.java:43) 
         at  java.lang.reflect.Method (Method.java:606) 
         at  org.codehaus.groovy.reflection.CachedMethod (CachedMethod.java:90) 
         at  groovy.lang.MetaMethod (MetaMethod.java:233) 
         at  groovy.lang.MetaClassImpl (MetaClassImpl.java:1054) 
         at  org.codehaus.groovy.runtime.ScriptBytecodeAdapter 
(ScriptBytecodeAdapter.java:128) 
         at  org.codehaus.groovy.runtime.ScriptBytecodeAdapter 
(ScriptBytecodeAdapter.java:148) 
         at  org.codehaus.groovy.tools.shell.InteractiveShellRunner 
(InteractiveShellRunner.groovy:100) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:-2) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:57) 
         at  sun.reflect.DelegatingMethodAccessorImpl 
(DelegatingMethodAccessorImpl.java:43) 
         at  java.lang.reflect.Method (Method.java:606) 
         at  
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce
 (PogoMetaMethodSite.java:267) 
         at  org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite 
(PogoMetaMethodSite.java:52) 
         at  org.codehaus.groovy.runtime.callsite.AbstractCallSite 
(AbstractCallSite.java:137) 
         at  org.codehaus.groovy.tools.shell.ShellRunner 
(ShellRunner.groovy:57) 
         at  org.codehaus.groovy.tools.shell.InteractiveShellRunner 
(InteractiveShellRunner.groovy:-1) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:-2) 
         at  sun.reflect.NativeMethodAccessorImpl 
(NativeMethodAccessorImpl.java:57) 
         at  sun.reflect.DelegatingMethodAccessorImpl 
(DelegatingMethodAccessorImpl.java:43) 
         at  java.lang.reflect.Method (Method.java:606) 
         at  org.codehaus.groovy.reflection.CachedMethod (CachedMethod.java:90) 
         at  groovy.lang.MetaMethod (MetaMethod.java:233) 
         at  groovy.lang.MetaClassImpl (MetaClassImpl.java:1054) 
         at  org.codehaus.groovy.runtime.ScriptBytecodeAdapter 
(ScriptBytecodeAdapter.java:128) 
         at  org.codehaus.groovy.runtime.ScriptBytecodeAdapter 
(ScriptBytecodeAdapter.java:148) 
         at  org.codehaus.groovy.tools.shell.InteractiveShellRunner 
(InteractiveShellRunner.groovy:66) 
         at  java_lang_Runnable$run (null:-1) 
         at  org.codehaus.groovy.runtime.callsite.CallSiteArray 
(CallSiteArray.java:42) 
         at  org.codehaus.groovy.runtime.callsite.AbstractCallSite 
(AbstractCallSite.java:108) 
         at  org.codehaus.groovy.runtime.callsite.AbstractCallSite 
(AbstractCallSite.java:112) 
         at  org.codehaus.groovy.tools.shell.Groovysh (Groovysh.groovy:463) 
         at  org.codehaus.groovy.tools.shell.Groovysh (Groovysh.groovy:402) 
         at  org.apache.sqoop.shell.SqoopShell (SqoopShell.java:128) 
Caused by: Exception: java.lang.NullPointerException Message: 
Stack trace:
         at  java.util.regex.Matcher (Matcher.java:1234) 
         at  java.util.regex.Matcher (Matcher.java:308) 
         at  java.util.regex.Matcher (Matcher.java:228) 
         at  java.util.regex.Pattern (Pattern.java:1088) 
         at  org.apache.sqoop.connector.kite.util.InputValidation 
(InputValidation.java:35) 
         at  
org.apache.sqoop.connector.kite.configuration.ToJobConfig$ConfigValidator 
(ToJobConfig.java:38) 
         at  
org.apache.sqoop.connector.kite.configuration.ToJobConfig$ConfigValidator 
(ToJobConfig.java:33) 
         at  org.apache.sqoop.validation.ConfigValidationRunner 
(ConfigValidationRunner.java:172) 
         at  org.apache.sqoop.validation.ConfigValidationRunner 
(ConfigValidationRunner.java:140) 
         at  org.apache.sqoop.validation.ConfigValidationRunner 
(ConfigValidationRunner.java:121) 
         at  org.apache.sqoop.validation.ConfigValidationRunner 
(ConfigValidationRunner.java:82) 
         at  org.apache.sqoop.model.ConfigUtils (ConfigUtils.java:220) 
         at  org.apache.sqoop.handler.JobRequestHandler 
(JobRequestHandler.java:220) 
         at  org.apache.sqoop.handler.JobRequestHandler 
(JobRequestHandler.java:102) 
         at  org.apache.sqoop.server.v1.JobServlet (JobServlet.java:91) 
         at  org.apache.sqoop.server.SqoopProtocolServlet 
(SqoopProtocolServlet.java:63) 
         at  javax.servlet.http.HttpServlet (HttpServlet.java:643) 
         at  javax.servlet.http.HttpServlet (HttpServlet.java:723) 
         at  org.apache.catalina.core.ApplicationFilterChain 
(ApplicationFilterChain.java:290) 
         at  org.apache.catalina.core.ApplicationFilterChain 
(ApplicationFilterChain.java:206) 
         at  
org.apache.hadoop.security.authentication.server.AuthenticationFilter 
(AuthenticationFilter.java:392) 
         at  org.apache.catalina.core.ApplicationFilterChain 
(ApplicationFilterChain.java:235) 
         at  org.apache.catalina.core.ApplicationFilterChain 
(ApplicationFilterChain.java:206) 
         at  org.apache.catalina.core.StandardWrapperValve 
(StandardWrapperValve.java:233) 
         at  org.apache.catalina.core.StandardContextValve 
(StandardContextValve.java:191) 
         at  org.apache.catalina.core.StandardHostValve 
(StandardHostValve.java:127) 
         at  org.apache.catalina.valves.ErrorReportValve 
(ErrorReportValve.java:103) 
         at  org.apache.catalina.core.StandardEngineValve 
(StandardEngineValve.java:109) 
         at  org.apache.catalina.connector.CoyoteAdapter 
(CoyoteAdapter.java:293) 
         at  org.apache.coyote.http11.Http11Processor 
(Http11Processor.java:861) 
         at  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler 
(Http11Protocol.java:606) 
         at  org.apache.tomcat.util.net.JIoEndpoint$Worker 
(JIoEndpoint.java:489) 
         at  java.lang.Thread (Thread.java:744)

- Abraham Elmahrek


On Nov. 17, 2014, 7:31 a.m., Qian Xu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26963/
> -----------------------------------------------------------
> 
> (Updated Nov. 17, 2014, 7:31 a.m.)
> 
> 
> Review request for Sqoop.
> 
> 
> Bugs: SQOOP-1588
>     https://issues.apache.org/jira/browse/SQOOP-1588
> 
> 
> Repository: sqoop-sqoop2
> 
> 
> Description
> -------
> 
> Create a basic Kite connector that can write data (i.e. from a jdbc 
> connection) to HDFS.
> 
> The scope is defined as follows:
> * Destination: HDFS
> * File Format: Avro Parquet and CSV.
> * Compression Codec: Use default
> * Partitioner Strategy: Not supported
> * Column Mapping: Not supported
> 
> 
> Diffs
> -----
> 
>   connector/connector-kite/pom.xml PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/KiteConnector.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/KiteConnectorConstants.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/KiteConnectorError.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/KiteDatasetExecutor.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/KiteLoader.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/KiteToDestroyer.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/KiteToInitializer.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/LinkConfig.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/LinkConfiguration.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfiguration.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/util/InputValidation.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/util/KiteDataTypeUtil.java
>  PRE-CREATION 
>   connector/connector-kite/src/main/resources/connector-configs.properties 
> PRE-CREATION 
>   
> connector/connector-kite/src/main/resources/kite-connector-config.properties 
> PRE-CREATION 
>   connector/connector-kite/src/main/resources/sqoopconnector.properties 
> PRE-CREATION 
>   
> connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/TestKiteExecutor.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/TestKiteLoader.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/TestKiteToDestroyer.java
>  PRE-CREATION 
>   
> connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/TestKiteToInitializer.java
>  PRE-CREATION 
>   connector/connector-kite/src/test/resources/log4j.properties PRE-CREATION 
>   
> connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/FileFormat.java
>  PRE-CREATION 
>   
> connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/JarUtil.java
>  PRE-CREATION 
>   connector/pom.xml e98a0fc 
>   pom.xml 233d3ce 
>   server/pom.xml 4a5eb5e 
>   test/pom.xml 2dbb8c5 
> 
> Diff: https://reviews.apache.org/r/26963/diff/
> 
> 
> Testing
> -------
> 
> New unittests included. All passed.
> 
> 
> Thanks,
> 
> Qian Xu
> 
>

Reply via email to