[ 
https://issues.apache.org/jira/browse/HBASE-7938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13602729#comment-13602729
 ] 

Nick Dimiduk commented on HBASE-7938:
-------------------------------------

bq. I guess you had an open issue for this, right?

Yeah, that's what I ment when I said "The test works as intended when run 
stand-alone, but FAILS when run via maven. It looks like HFileOutputFormat is 
creating the paritions file on localFs instead of HDFS." The test does spin up 
a cluster + mapred via IntegrationTestingUtility. Scroll back in the logs and 
you'll see {{INFO mapreduce.HFileOutputFormat: Writing partition information 
to}} and then a long local file path. That path ends up not existing when the 
TotalOrderPartitioner gets around to looking for it; I don't know why. You'll 
also see an error about "unable to create symlink" a little later on, because 
that file path no longer exists.

This business is fixed in HBASE-4285. I do away with the symlink stuff and drop 
the partitions file in /tmp instead of the working directory. I also request 
that the file be deleted at FS close.

bq. Second question is that, whether we need to run the other 2 tests in 
TestImportTsv in IT mode?

The point of the integration test (in my mind) is that it can be run on a real 
cluster. If that's desirable for the tests in TestImportTsv, they might as well 
be merged. The alternative is to try setting up TestImportTsv with a main that 
can be run w.o maven.

Personally, I don't think we gain very much by having the integration test 
stuff tied into maven. We don't have a persistent cluster that Jenkins can run 
them against, so when they run through maven they're using the minicluster, 
same as regular tests. After my experience with this thing, I think we're 
better off writing them all as Tools with a main that can be run against an 
externally specified conf.
                
> Add integration test for ImportTsv/LoadIncrementalHFiles workflow
> -----------------------------------------------------------------
>
>                 Key: HBASE-7938
>                 URL: https://issues.apache.org/jira/browse/HBASE-7938
>             Project: HBase
>          Issue Type: Sub-task
>          Components: mapreduce
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>             Fix For: 0.95.0, 0.98.0
>
>         Attachments: 
> 0001-HBASE-7938-Add-integration-test-for-ImportTsv-LoadIn.patch, 
> 0001-HBASE-7938-Add-integration-test-for-ImportTsv-LoadIn.patch, 
> 0001-HBASE-7938-Add-integration-test-for-ImportTsv-LoadIn.patch
>
>
> We have existing unit tests for smoke-testing the packaged MR jobs, however 
> they do not create a runtime environment that is true to running on a real MR 
> cluster. This is particularly true in regard to classpaths (HBASE-7934) but 
> also other static state (HBASE-4802). An integration test that can be pointed 
> to run on a pseudo-distributed Hadoop deployed on localhost would find these 
> kinds of problems.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to