HBase
  1. HBase
  2. HBASE-11028

FSLog: Avoid an extra sync if the current transaction is already sync'd

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.99.0
    • Fix Version/s: 0.99.0
    • Component/s: regionserver
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      1. 11028.v1.patch
        2 kB
        Nicolas Liochon

        Activity

        Hide
        Enis Soztutar added a comment -

        Closing this issue after 0.99.0 release.

        Show
        Enis Soztutar added a comment - Closing this issue after 0.99.0 release.
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-TRUNK #5107 (See https://builds.apache.org/job/HBase-TRUNK/5107/)
        HBASE-11028 FSLog: Avoid an extra sync if the current transaction is already sync'd (nkeywal: rev 1589158)

        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-TRUNK #5107 (See https://builds.apache.org/job/HBase-TRUNK/5107/ ) HBASE-11028 FSLog: Avoid an extra sync if the current transaction is already sync'd (nkeywal: rev 1589158) /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
        Hide
        Himanshu Vashishtha added a comment -

        Yeah, and SFuture is just too internal an detail to be exposed to WAL clients IMO. Thanks for committing.

        Show
        Himanshu Vashishtha added a comment - Yeah, and SFuture is just too internal an detail to be exposed to WAL clients IMO. Thanks for committing.
        Hide
        Nicolas Liochon added a comment -

        Committed, thanks for the review.
        I was wondering about the possibility to return a SequenceFuture instead of a txid. But it seems a little bit overkill.

        Show
        Nicolas Liochon added a comment - Committed, thanks for the review. I was wondering about the possibility to return a SequenceFuture instead of a txid. But it seems a little bit overkill.
        Hide
        Himanshu Vashishtha added a comment -

        +1
        This patch for the least gives back the old way of freeing the handler if its corresponding edit is already synced.

        Show
        Himanshu Vashishtha added a comment - +1 This patch for the least gives back the old way of freeing the handler if its corresponding edit is already synced.
        Hide
        stack added a comment -

        +1

        I think start with this.

        Later, we might look at doing same at other side of the ringbuffer. Currently it would be complicated to do. On other side of the ringbuffer, we just append the edit. The edit has disappeared into the WAL. The sync has not been called yet. Handlers are currently tied to their sync via the SyncFuture. We'd have to add a listing of a Handlers' seqid to the SyncFuture. It'd be messy currently.

        This stuff will change again soon; e.g. the Himanshu switch writers and then multiwal hopefully. Maybe come back to this issue then. There may be more points we can make use of after these refactorings.

        Show
        stack added a comment - +1 I think start with this. Later, we might look at doing same at other side of the ringbuffer. Currently it would be complicated to do. On other side of the ringbuffer, we just append the edit. The edit has disappeared into the WAL. The sync has not been called yet. Handlers are currently tied to their sync via the SyncFuture. We'd have to add a listing of a Handlers' seqid to the SyncFuture. It'd be messy currently. This stuff will change again soon; e.g. the Himanshu switch writers and then multiwal hopefully. Maybe come back to this issue then. There may be more points we can make use of after these refactorings.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12640797/11028.v1.patch
        against trunk revision .
        ATTACHMENT ID: 12640797

        +1 @author. The patch does not contain any @author tags.

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no new tests are needed for this patch.
        Also please list what manual steps were performed to verify this patch.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        +1 site. The mvn site goal succeeds with this patch.

        +1 core tests. The patch passed unit tests in .

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12640797/11028.v1.patch against trunk revision . ATTACHMENT ID: 12640797 +1 @author . The patch does not contain any @author tags. -1 tests included . The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9331//console This message is automatically generated.

          People

          • Assignee:
            Nicolas Liochon
            Reporter:
            Nicolas Liochon
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development