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


Good questions about HCatBaseTest.setUp. I just went through the tests using it 
and found two use cases:

(a) Use setUp as-is. Most tests are fine using the client/driver created in the 
base class and require no further changes. This is the most simple case.

(b) Create a test data set. The only difference I found here is clients that 
need to create some data for the test. In this case we need to cleanup any 
output from a previous test, create the test input, initialize the 
client/driver, then run the tests.

The current structure makes use-case (a) very straightforward. These tests just 
extend HCatBaseTest, then add @Test cases. No further environment setup is 
needed.

Case (b) is where we rely on users to call super.setUp(), as in 
TestHCatHiveThriftCompatibility. Looking at how test data is generated it could 
be refactored into a separate generateInput method, so users do not need to 
call the base class. We just need to make sure the previous test data dir is 
trashed before-hand, so tests work in the IDE (instead of relying on "ant 
clean"). Other than preference I don't see a major benefit here - it users 
forget to call super.setUp any test using the HMS will fail and it should be 
very clear to the test writer what happened.

In general I'm pretty happy with the current structure, but I'm also totally 
open to improvements. How does this sound: with this patch, let's use the 
current style, since the issue we're trying to fix is the bug, not a refactor. 
If you want to refactor the base test, let's do that in a separate issue? I'm 
happy to do the code review if we identify a way they can be improved.

- Travis Crawford


On Sept. 14, 2012, 5:40 p.m., Arup Malakar wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/7068/
> -----------------------------------------------------------
> 
> (Updated Sept. 14, 2012, 5:40 p.m.)
> 
> 
> Review request for hcatalog and Travis Crawford.
> 
> 
> Description
> -------
> 
> 1. Added a test case to reproduce the bug
> 2. Fixed the bug
> 2. Apart from some cosmetic changes for readability in HCatMapReduceTest
>      Removed the abstract method initialize() in HCatMapReduceTest as the 
> same could be achieved by using the well understood method setUp()
> 
> 
> This addresses bug HCATALOG-490.
>     https://issues.apache.org/jira/browse/HCATALOG-490
> 
> 
> Diffs
> -----
> 
>   
> http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/java/org/apache/hcatalog/mapreduce/FileRecordWriterContainer.java
>  1384595 
>   
> http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/HCatBaseTest.java
>  1384595 
>   
> http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/HCatMapReduceTest.java
>  1384595 
>   
> http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/TestHCatDynamicPartitioned.java
>  1384595 
>   
> http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/TestHCatNonPartitioned.java
>  1384595 
>   
> http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/TestHCatPartitioned.java
>  1384595 
> 
> Diff: https://reviews.apache.org/r/7068/diff/
> 
> 
> Testing
> -------
> 
> test:
>     [mkdir] Created dir: 
> /Users/malakar/code/oss/hcatalog/trunk/build/test/logs
>     [mkdir] Created dir: 
> /Users/malakar/code/oss/hcatalog/trunk/build/test/hcat_junit_warehouse
>     [junit] WARNING: multiple versions of ant detected in path for junit 
>     [junit]          
> jar:file:/Users/malakar/bin/apache-ant-1.8.4/lib/ant.jar!/org/apache/tools/ant/Project.class
>     [junit]      and 
> jar:file:/Users/malakar/code/oss/hcatalog/trunk/build/ivy/lib/test/ant-ant-1.6.5.jar!/org/apache/tools/ant/Project.class
>     [junit] Running org.apache.hcatalog.cli.TestPermsGrp
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 14.854 sec
>     [junit] Running org.apache.hcatalog.cli.TestSemanticAnalysis
>     [junit] Tests run: 22, Failures: 0, Errors: 0, Time elapsed: 20.615 sec
>     [junit] Running org.apache.hcatalog.cli.TestUseDatabase
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 13.533 sec
>     [junit] Running org.apache.hcatalog.common.TestHCatUtil
>     [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.868 sec
>     [junit] Running org.apache.hcatalog.common.TestHiveClientCache
>     [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 38.042 sec
>     [junit] Shutting down hive metastore.
>     [junit] Running org.apache.hcatalog.data.TestDefaultHCatRecord
>     [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.21 sec
>     [junit] Running org.apache.hcatalog.data.TestHCatRecordSerDe
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.181 sec
>     [junit] Running org.apache.hcatalog.data.TestJsonSerDe
>     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.239 sec
>     [junit] Running org.apache.hcatalog.data.TestLazyHCatRecord
>     [junit] Tests run: 11, Failures: 0, Errors: 0, Time elapsed: 0.177 sec
>     [junit] Running org.apache.hcatalog.data.TestReaderWriter
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 5.083 sec
>     [junit] Running org.apache.hcatalog.data.schema.TestHCatSchema
>     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.007 sec
>     [junit] Running org.apache.hcatalog.data.schema.TestHCatSchemaUtils
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.043 sec
>     [junit] Running org.apache.hcatalog.listener.TestMsgBusConnection
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 7.588 sec
>     [junit] Running org.apache.hcatalog.listener.TestNotificationListener
>     [junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 8.045 sec
>     [junit] Test org.apache.hcatalog.listener.TestNotificationListener FAILED
>     [junit] Running org.apache.hcatalog.mapreduce.TestHCatDynamicPartitioned
>     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 122.809 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestHCatHiveCompatibility
>     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 32.425 sec
>     [junit] Running 
> org.apache.hcatalog.mapreduce.TestHCatHiveThriftCompatibility
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 11.662 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestHCatInputFormat
>     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 10.985 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestHCatMultiOutputFormat
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 28.85 sec
>     [junit] Shutting down hive metastore.
>     [junit] Running org.apache.hcatalog.mapreduce.TestHCatNonPartitioned
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 14.169 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestHCatOutputFormat
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 5.323 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestHCatPartitioned
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 92.827 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestMultiOutputFormat
>     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 67.213 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestPassProperties
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 8.611 sec
>     [junit] Running org.apache.hcatalog.mapreduce.TestSequenceFileReadWrite
>     [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 53.583 sec
>     [junit] Running org.apache.hcatalog.rcfile.TestRCFileMapReduceInputFormat
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.216 sec
>     [junit] Running org.apache.hcatalog.security.TestHdfsAuthorizationProvider
>     [junit] Tests run: 34, Failures: 0, Errors: 0, Time elapsed: 23.476 sec
> 
> 
> Thanks,
> 
> Arup Malakar
> 
>

Reply via email to