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



Hi Bogi, Liz,

Most probably I did not phrase my thoughts precise enough in the previous 
round, so please let me express myself in a bit more direct and clear way:
My problem is not with the size of the patch file (although IMHO ~1000+ changed 
lines is quite a few), but with the fact that this change tries to achieve 
multiple things, which I think would make more sense as part of multiple 
issues/commits. Here are the things  I've identified as the 
effects/consequences of this changeset:
- It delivers improvements/fixes around the way connections are handled in the 
MSSqlServer related tests, which is a great thing, makes the usage much more 
flexible.
-- Although around the deletes (were those codes really dead?)/fixes I'm not 
sure if those things would be in sync with the design goals of the SqlServer 
connector, but I'm not used to consider myself as a MSSqlServer expert.
- Pushes the SqlServer related manual tests into the third party ant test 
cycle. IMHO this is not the best decision in the current test + CI 
architecture, as from that moment this patch would have been committed, it 
would force every contributor to have a working MSSqlServer instance (on the 
top of the currently existing ones including MySQL, PostgreSQL, Oracle, Cubrid, 
etc.) on their dev infrastructure, or facing with the fact that some of the 
third party tests will fail continuously on their side (which does not sound 
like a best practice). Most probably on your side it didn't appear as a problem 
as you do have standalone instances for yourself, but we cannot depend on that 
this is true in case of every contributor. Although the test files themselves 
contains some very basic instructions how to make the tests work, but still in 
the current version it would need manual interactions+installs, thus won't work 
out of the box (needless to say that the instructions are very much not deta
 iled enough to someone who is not expert in installing MSSqlServer).
-- As a subpart of this section, I have to highlight that this way of changes 
alternates the intention of the original devs (and I'm pretty sure they had 
good reason why these tests were not automated but manual).
-- Introducing just another external dependency won't help to onboard new 
contributors (just another new -D param for a process which is not quite good 
documented already)
-- It also won't make the CI integration easier in the future
- The title+description JIRA is missleading as it does not solve the true 
automation (neither on CI level, nor on the side of the devs).

So if you trust in my experience and wisdom as a committer you would consider 
splitting up this changeset into 2-3 parts, and only after pushing the tests 
into the 3rd party cycle, when the SqlServer deployment is solved out of the 
box (e.g. with docker or global apache installation or ansible or so).

Please also consider fixing that part what I've identified as an issue

My 2 cents,
Attila


src/test/org/apache/sqoop/manager/sqlserver/SQLServerDatatypeImportDelimitedFileManualTest.java
Lines 224-242 (original), 249-299 (patched)
<https://reviews.apache.org/r/58233/#comment244257>

    Hi,
    
    Could you please give me some explanation around these test cases?
    
    For me it looks strange intentionally, that we're trying to leverage from 
some base/super test class, but nullifying some of it's test cases with an 
empty method body.
    
    If these things are not neccessary I would suggest deleting them, as the 
current solution is very much misleading, b/c these cases won't look as 
'invalid' as you marked them, but very much passed green test cases, giving the 
false intention these cases are very much supported in the delimited case as 
well.
    
    If you need a common ancestor I would advise using 'extract superclass' 
refactoring.


- Attila Szabo


On April 6, 2017, 5:27 p.m., Boglarka Egyed wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58233/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 5:27 p.m.)
> 
> 
> Review request for Sqoop, Anna Szonyi, Szabolcs Vasas, and Liz Szilagyi.
> 
> 
> Bugs: SQOOP-3167
>     https://issues.apache.org/jira/browse/SQOOP-3167
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> -------
> 
> Automated SQLServer Manual tests including test case correction and minor 
> rework too:
> - modified connection string setup to make them able to run automatically
> - fixed failing test cases
> - excluded invalid test cases
> - added database cleanup logic in tearDown part
> - updated java docs
> - removed unused imports
> - changing names to add them to the 3rd party test suite
> 
> Note: A more extensive refactor of the test classes in 
> org.apache.sqoop.manager.sqlserver could be made, it will be addressed in 
> another JIRA as that is a different scope.
> 
> 
> Diffs
> -----
> 
>   build.xml 73db28b272c50b4f76fef8421e6b9dfe5fed40f4 
>   src/test/com/cloudera/sqoop/hive/TestHiveImport.java 
> 33e0cc41f6f379bac2085431e0f1adc60bce6bce 
>   src/test/com/cloudera/sqoop/manager/SQLServerManagerExportManualTest.java 
> 9a92479245fa35c210d8e49f847292ee53d6f9b1 
>   src/test/com/cloudera/sqoop/manager/SQLServerManagerImportManualTest.java 
> 1f69725da8408853ac55b1f316ce1b9ef015e674 
>   src/test/org/apache/sqoop/manager/sqlserver/MSSQLTestUtils.java 
> 851bf49614e829d07de252b83f4ad550d0cb043b 
>   src/test/org/apache/sqoop/manager/sqlserver/ManagerCompatExport.java 
> 8c5176ad61aae61b96c7458d3b4b83dc11960268 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerDatatypeExportDelimitedFileManualTest.java
>  099d7344beb428c58b32d926af5ea079211da490 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerDatatypeExportSequenceFileManualTest.java
>  21676f02510693dcdd856a1d9dfba7d05eace023 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerDatatypeImportDelimitedFileManualTest.java
>  519fb525bdbb167520368d404667036669925041 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerDatatypeImportSequenceFileManualTest.java
>  a0dad8a60b99d522ad3691e15b8b16c56e4b5858 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerHiveImportManualTest.java
>  1999272181421a539318ed195ea4257f52b2ed08 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerManualTest.java 
> 1178e3c79de4d0b5c7a96c6ad7eb316ed15e47c4 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerMultiColsManualTest.java 
> 6a8ab51967237f471044b868615fdb3e057b1d92 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerMultiMapsManualTest.java 
> c9a5b5ef596cfc1b28948c2a071935dfb9500cde 
>   
> src/test/org/apache/sqoop/manager/sqlserver/SQLServerParseMethodsManualTest.java
>  cd05aecf1ae5bd79fb485325d58b33a73e9df290 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerQueryManualTest.java 
> 0057ac9df562c8e92cf7b9014c5e4239886a8104 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerSplitByManualTest.java 
> f85245ab8cdd66da983ac9017d356f251f22e7db 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerWhereManualTest.java 
> 10ae03b324b15f5ea0cc3cbbc04d3a5041233dd9 
> 
> 
> Diff: https://reviews.apache.org/r/58233/diff/2/
> 
> 
> Testing
> -------
> 
> ant clean test, ant test
> 
> ant clean test -Dthirdparty=true -Dsqoop.thirdparty.lib.dir=3rdpartylib 
> -Dsqoop.test.sqlserver.connectstring.host_url=sqlserver 
> -Dsqoop.test.sqlserver.database=databasename -Dms.sqlserver.username=username 
> -Dms.sqlserver.password=password -Dtestcase=SQLServer*
> 
> ant clean test -Dthirdparty=true -Dsqoop.thirdparty.lib.dir=3rdpartylib 
> -Dsqoop.test.mysql.connectstring.host_url=mysql 
> -Dsqoop.test.mysql.databasename=databasename 
> -Dsqoop.test.mysql.password=password -Dsqoop.test.mysql.username=username 
> -Dsqoop.test.oracle.connectstring=oracle 
> -Dsqoop.test.postgresql.connectstring.host_url=postgre 
> -Dsqoop.test.cubrid.connectstring.host_url=cubrid 
> -Dsqoop.test.cubrid.connectstring.username=username 
> -Dsqoop.test.cubrid.connectstring.database=database 
> -Dsqoop.test.cubrid.connectstring.password=password 
> -Dmapred.child.java.opts="-Djava.security.egd=file:/dev/../dev/urandom" 
> -Dtest.timeout=1000000 
> -Dsqoop.test.sqlserver.connectstring.host_url=sqlserver 
> -Dsqoop.test.sqlserver.database=database -Dms.sqlserver.username=username 
> -Dms.sqlserver.password=password
> 
> 
> Thanks,
> 
> Boglarka Egyed
> 
>

Reply via email to