sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fero Szabo via Review Board <nore...@reviews.apache.org>
Subject Re: Review Request 66361: Implement HiveServer2 client
Date Mon, 16 Apr 2018 12:51:13 GMT

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




src/java/org/apache/sqoop/hive/HiveClientFactory.java
Lines 54 (patched)
<https://reviews.apache.org/r/66361/#comment282293>

    I think you mentioned that this is package-private visibility so it can be used in testing.

    
    You could consider using the 
    org.assertj.core.util.VisibleForTesting
    annotation as well, though I'm not sure if that's actually better or worse.



src/java/org/apache/sqoop/hive/HiveServer2Client.java
Lines 88 (patched)
<https://reviews.apache.org/r/66361/#comment282307>

    Why not put this into a finally statement? No need to clean up after error?



src/java/org/apache/sqoop/tool/BaseSqoopTool.java
Lines 136 (patched)
<https://reviews.apache.org/r/66361/#comment282309>

    I'm fine with abbreviations, however these might confuse those reading the code in the
long run. It would make it easier for newbies to onboard and help less profficient users to
understand what a command means if we weren't using them.
    
    So, we might want to follow the convention of not using abbreviations in the names of
fields, constants, methods, etc.
    
    What is your opinion? This might be a good quesiton for the community as well, as we don't
really have coding guidelines.



src/java/org/apache/sqoop/tool/BaseSqoopTool.java
Line 1854 (original), 1886-1904 (patched)
<https://reviews.apache.org/r/66361/#comment282310>

    Nice validation!
    
    You could consider extracting two helper methods here, I believe: 
    - validateAllOptionsAreSet(SqoopOption, List<String> optionkeys) throws InvalidOptionsException
    - validateOnlyOneisSet(SqoopOption, List<String> optionkeys) throws InvalidOptionsException
    
    or something similar...
    
    It would help validators reuse your nice error messages in the future!


- Fero Szabo


On April 16, 2018, 9:12 a.m., Szabolcs Vasas wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66361/
> -----------------------------------------------------------
> 
> (Updated April 16, 2018, 9:12 a.m.)
> 
> 
> Review request for Sqoop.
> 
> 
> Bugs: SQOOP-3309
>     https://issues.apache.org/jira/browse/SQOOP-3309
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> -------
> 
> This JIRA covers the implementation of the client for HiveServer2 and its integration
into the classes which use HiveImport.
> 
> - HiveClient interface is introduced with 2 implementation:
>   - HiveImport: this is the original implementation which uses HiveCLI
>   - HiveServer2Client: the new clients which connects to HS2 using JDBC connection
>   - The common code is extracted to HiveCommon class
> - HiveClient should be instantiated using HiveClientFactory which creates and configures
the right HiveClient based on the configuration in SqoopOptions
> - HiveMiniCluster is introduced with a couple of helper classes to enable end-to-end
HS2 tests
> - A couple of new options are added to SqoopOptions to be able to configure the connection
to HS2
> - Validation is implemented for these new options
> 
> 
> Diffs
> -----
> 
>   build.xml 7f68b573c65a61150ca78d158084586c87775d84 
>   ivy.xml 6be4fa20fbbf1f303c69d86942b1874e18a14afc 
>   src/docs/user/hive-args.txt 441f54e8e0cee63595937f4e1811abc2d89f9237 
>   src/docs/user/hive.txt 3dc8bb463d602d525fe5f2d07d52cb97efcbab7e 
>   src/java/org/apache/sqoop/SqoopOptions.java 651cebd69ee7e75d06c75945e3607c4fab7eb11c

>   src/java/org/apache/sqoop/hive/HiveClient.java PRE-CREATION 
>   src/java/org/apache/sqoop/hive/HiveClientCommon.java PRE-CREATION 
>   src/java/org/apache/sqoop/hive/HiveClientFactory.java PRE-CREATION 
>   src/java/org/apache/sqoop/hive/HiveImport.java c2729119d31f7e585f204f2d31b2051eea71b72b

>   src/java/org/apache/sqoop/hive/HiveServer2Client.java PRE-CREATION 
>   src/java/org/apache/sqoop/hive/HiveServer2ConnectionFactory.java PRE-CREATION 
>   src/java/org/apache/sqoop/hive/TableDefWriter.java b7a25b7809e0d50166966a77161dc8ff603fb2d2

>   src/java/org/apache/sqoop/tool/BaseSqoopTool.java b02e4fe7fda25c7f8171c7db17d15a7987459687

>   src/java/org/apache/sqoop/tool/CreateHiveTableTool.java d259566180369a55d490144e6f865e728f4f2e61

>   src/java/org/apache/sqoop/tool/ImportAllTablesTool.java 18f7a0af48d972d5186e9414475e080f1eb765f3

>   src/java/org/apache/sqoop/tool/ImportTool.java e9920058858653bec7407bf7992eb6445401e813

>   src/test/org/apache/sqoop/hive/TestHiveClientFactory.java PRE-CREATION 
>   src/test/org/apache/sqoop/hive/TestHiveMiniCluster.java PRE-CREATION 
>   src/test/org/apache/sqoop/hive/TestHiveServer2Client.java PRE-CREATION 
>   src/test/org/apache/sqoop/hive/TestHiveServer2TextImport.java PRE-CREATION 
>   src/test/org/apache/sqoop/hive/TestTableDefWriter.java 8bdc3beb3677312ec0ee2e612616358bca4ca838

>   src/test/org/apache/sqoop/hive/minicluster/AuthenticationConfiguration.java PRE-CREATION

>   src/test/org/apache/sqoop/hive/minicluster/HiveMiniCluster.java PRE-CREATION 
>   src/test/org/apache/sqoop/hive/minicluster/KerberosAuthenticationConfiguration.java
PRE-CREATION 
>   src/test/org/apache/sqoop/hive/minicluster/NoAuthenticationConfiguration.java PRE-CREATION

>   src/test/org/apache/sqoop/hive/minicluster/PasswordAuthenticationConfiguration.java
PRE-CREATION 
>   src/test/org/apache/sqoop/testutil/HiveServer2TestUtil.java PRE-CREATION 
>   src/test/org/apache/sqoop/tool/TestHiveServer2OptionValidations.java PRE-CREATION 
>   src/test/org/apache/sqoop/tool/TestImportTool.java 1c0cf4d863692f75bb8831e834fae47fc18b5df5

> 
> 
> Diff: https://reviews.apache.org/r/66361/diff/5/
> 
> 
> Testing
> -------
> 
> Ran unit and third party tests suite.
> 
> 
> Thanks,
> 
> Szabolcs Vasas
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message