hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10378) Divide HLog interface into User and Implementor specific interfaces
Date Mon, 17 Nov 2014 23:06:34 GMT

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

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/12681992/HBASE-10378.4.patch.txt
  against trunk revision .
  ATTACHMENT ID: 12681992

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 349 new or modified
tests.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 1 warning messages.

                {color:red}-1 checkstyle{color}.  The applied patch generated 3855 checkstyle
errors (more than the trunk's current 3788 errors).

    {color:green}+1 findbugs{color}.  The patch does not introduce any new Findbugs (version
2.0.3) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:red}-1 lineLengths{color}.  The patch introduces the following lines longer than
100:
    +set corecommands=shell master regionserver thrift thrift2 rest avro hlog wal hbck hfile
zookeeper zkcli upgrade mapredcp
+      final WAL wal = walFactory.getMetaWAL(HRegionInfo.FIRST_META_REGIONINFO.getEncodedNameAsBytes());
+      LOG.warn("Exception attempting to fetch wal coprocessor information for the common
wal; skipping.");
+        LOG.warn("Exception attempting to fetch wal coprocessor information for region "
+ region + "; skipping.");
+        LOG.error("Could not retrieve WAL information for region " + r.getRegionInfo() +
"; not adding to moved regions.");
+  private final ConcurrentHashMap<WAL, Boolean> walNeedsRoll = new ConcurrentHashMap<WAL,
Boolean>();
+          final byte [][] regionsToFlush = wal.rollWriter(periodic || entry.getValue().booleanValue());
+          // in the case of the null suffix, we need to make sure the filename ends with
the timestamp.
+          return org.apache.commons.lang.StringUtils.isNumeric(fileNameString.substring(prefixPathStr.length()));
+      throw new IllegalArgumentException("The log file " + fileName + " doesn't belong to
this wal. (" + toString() + ")");

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

    {color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/checkstyle-aggregate.html

                Javadoc warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//artifact/patchprocess/patchJavadocWarnings.txt
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/11717//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
>            Assignee: Sean Busbey
>             Fix For: 2.0.0, 0.99.2
>
>         Attachments: 10378-1.patch, 10378-2.patch, HBASE-10378.3.patch.txt, HBASE-10378.4.patch.txt
>
>
> 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.3.4#6332)

Mime
View raw message