[ https://issues.apache.org/jira/browse/HBASE-10378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13881949#comment-13881949 ]
Hadoop QA commented on HBASE-10378: ----------------------------------- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12624933/10378-2.patch against trunk revision . ATTACHMENT ID: 12624933 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 128 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop1.1{color}. The patch compiles against the hadoop 1.1 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8507//console This message is automatically generated. > Divide HLog interface into User and Implementor specific interfaces > ------------------------------------------------------------------- > > Key: HBASE-10378 > URL: https://issues.apache.org/jira/browse/HBASE-10378 > Project: HBase > Issue Type: Sub-task > Components: wal > Reporter: Himanshu Vashishtha > Attachments: 10378-1.patch, 10378-2.patch > > > HBASE-5937 introduces the HLog interface as a first step to support multiple > WAL implementations. This interface is a good start, but has some > limitations/drawbacks in its current state, such as: > 1) There is no clear distinction b/w User and Implementor APIs, and it > provides APIs both for WAL users (append, sync, etc) and also WAL > implementors (Reader/Writer interfaces, etc). There are APIs which are very > much implementation specific (getFileNum, etc) and a user such as a > RegionServer shouldn't know about it. > 2) There are about 14 methods in FSHLog which are not present in HLog > interface but are used at several places in the unit test code. These tests > typecast HLog to FSHLog, which makes it very difficult to test multiple WAL > implementations without doing some ugly checks. > I'd like to propose some changes in HLog interface that would ease the multi > WAL story: > 1) Have two interfaces WAL and WALService. WAL provides APIs for > implementors. WALService provides APIs for users (such as RegionServer). > 2) A skeleton implementation of the above two interface as the base class for > other WAL implementations (AbstractWAL). It provides required fields for all > subclasses (fs, conf, log dir, etc). Make a minimal set of test only methods > and add this set in AbstractWAL. > 3) HLogFactory returns a WALService reference when creating a WAL instance; > if a user need to access impl specific APIs (there are unit tests which get > WAL from a HRegionServer and then call impl specific APIs), use AbstractWAL > type casting, > 4) Make TestHLog abstract and let all implementors provide their respective > test class which extends TestHLog (TestFSHLog, for example). -- This message was sent by Atlassian JIRA (v6.1.5#6160)