hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10156) FSHLog Refactor (WAS -> Fix up the HBASE-8755 slowdown when low contention)
Date Thu, 17 Apr 2014 18:07:18 GMT

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

stack commented on HBASE-10156:
-------------------------------

[~liochon] You have a point.

We could do this:

@@ -1486,6 +1488,9 @@ class FSHLog implements HLog, Syncable {
   @Override
   // txid is unused.  txid is an implementation detail.  It should not leak outside of WAL.
   public void sync(long txid) throws IOException {
+    // If this edit has been sync'd already, we can just return.  This is dangerous.  Can
only
+    // be for a single edit or for a sequence of edits written by this thread.
+    if (this.highestSyncedSequence.get() > txid) return;
     publishSyncThenBlockOnCompletion();
   }

This is all before the ringbuffer.  It would be hard to do on other side of the ringbuffer
unless we carried this seqid -- which would be different from the ringbuffers' current seqid
-- over to the other side and then on the other side did something similar (would be a bit
more involved on other side since context would be blown).

Good one.

(Would have to undo my 'deprecation' of the sync that takes a txid in a more complete patch).

> FSHLog Refactor (WAS -> Fix up the HBASE-8755 slowdown when low contention)
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-10156
>                 URL: https://issues.apache.org/jira/browse/HBASE-10156
>             Project: HBase
>          Issue Type: Sub-task
>          Components: wal
>            Reporter: stack
>            Assignee: stack
>             Fix For: 0.99.0
>
>         Attachments: 10156.txt, 10156v10.txt, 10156v11.txt, 10156v12.txt, 10156v12.txt,
10156v13.txt, 10156v16.txt, 10156v17.txt, 10156v18.txt, 10156v19.txt, 10156v2.txt, 10156v20.txt,
10156v20.txt, 10156v21.txt, 10156v21.txt, 10156v21.txt, 10156v3.txt, 10156v4.txt, 10156v5.txt,
10156v6.txt, 10156v7.txt, 10156v9.txt, Disrupting.java
>
>
> HBASE-8755 slows our writes when only a few clients.  Fix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message