You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org> on 2009/10/09 20:21:31 UTC

[jira] Commented: (HBASE-1897) WAL is spread all over code-base and presumption is its SequenceFile; encapsulate inside a wal subpackage

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

Jean-Daniel Cryans commented on HBASE-1897:
-------------------------------------------

HBASE-1756 is about refactoring HLog and I have some stuff done already.

> WAL is spread all over code-base and presumption is its SequenceFile; encapsulate inside a wal subpackage
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1897
>                 URL: https://issues.apache.org/jira/browse/HBASE-1897
>             Project: Hadoop HBase
>          Issue Type: Improvement
>            Reporter: stack
>
> Presumption is that WAL is a sequencefile.  I just spent some time looking again at my old buddy SF and its kinda heavy-duty for our needs.  Do we need the sync bytes it writes into the stream every time you call a sync?  Maybe it'd help recovering logs of edits?  We don't need the compression by record or block, metadata info, etc.  Its also currently unsuited because its sync actually doesn't do a sync on the backing stream:
> {code}
>     /** create a sync point */
>     public void sync() throws IOException {
>       if (sync != null && lastSyncPos != out.getPos()) {
>         out.writeInt(SYNC_ESCAPE);                // mark the start of the sync
>         out.write(sync);                          // write sync
>         lastSyncPos = out.getPos();               // update lastSyncPos
>       }
>     }
> {code}
> We should move all of our HLog stuff into a wal package and rename the classes as WAL, WALEdit, etc.  Splitting code and replay code should reference a WAL.Reader rather than a SequenceFile.Reader, etc.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.