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

Appy commented on HBASE-18640:
------------------------------

bq. And I think it is worth to introduce a hbase-mapreduce module that does not 
depend on hbase-server. Usually user will only use the {{InputFormat}}s.
Great! It's hbase-mapreduce-util module in the patch.

bq. And for the tests, just put them in hbase-server. The most tests for 
hbase-client are also placed in hbase-server. For pre commit usually we will 
introduce a simple change in hbase-server to tell pre commit also run tests in 
hbase-server.

i'd still prefer a separate module for tests and hbase-server dependent classes 
because:
- With that pattern, hbase-server will become dumping place of all tests. 
That'll be bad!
Instead of having modules A, B and a  C with all tests, I'd prefer A, A-tests, 
B, B-tests, C and so on. That's looks cleaner
- Our precommit times for hbase-server is hours. The aim is also to split out 
tests to make our precommits test runs more focused and shorter.


> Move mapreduce out of hbase-server into separate hbase-mapreduce moduel
> -----------------------------------------------------------------------
>
>                 Key: HBASE-18640
>                 URL: https://issues.apache.org/jira/browse/HBASE-18640
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Appy
>            Assignee: Appy
>         Attachments: HBASE-18640.master.001.patch, 
> HBASE-18640.master.002.patch, HBASE-18640.master.003.patch, 
> HBASE-18640.master.004.patch
>
>
> (Couldn't find another dedicated jira, so creating new one).
> Uploaded patch which is moving ~60 files to the new module. Few notes:
> - The classes remaining in hbase-server are the ones which are intensively 
> coupled with visibility labels/wal/filesystem/hfile. These can not be 
> migrated to new module until corresponding subcomponents are untangled out of 
> hbase-server into their own separate modules.
> - Almost all mapreduce tests uses HBaseTestingUtil, so they can't be moved to 
> hbase-mapreduce module. Given these dependency constraints, one way would be 
> having a separate module for tests:
> hbase-mapreduce <---- hbase-server <------- hbase-mapreduce-tests 
> Imo, this makes sense and looks fine.
> The only issue is - yetus' pre-commit. It won't run tests in 
> hbase-mapreduce-tests module if something changed in just hbase-mapreduce. 
> However, yetus' limitation shouldn't warrant against the idea.
> So i'd say that we should go that way, unless there are better suggestions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to