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

        Nicolas Liochon created issue -
        Nicolas Liochon made changes -
        Field Original Value New Value
        Attachment 11028.v1.patch [ 12640797 ]
        Nicolas Liochon made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        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.
        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
        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
        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.
        Nicolas Liochon made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Hadoop Flags Reviewed [ 10343 ]
        Resolution Fixed [ 1 ]
        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
        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
        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.
        Enis Soztutar made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Patch Available Patch Available
        1m 51s 1 Nicolas Liochon 18/Apr/14 10:01
        Patch Available Patch Available Resolved Resolved
        4d 5h 3m 1 Nicolas Liochon 22/Apr/14 15:04
        Resolved Resolved Closed Closed
        305d 8h 28m 1 Enis Soztutar 21/Feb/15 23:33

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development