hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gray (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1563) incrementColumnValue does not write to WAL
Date Wed, 24 Jun 2009 00:50:07 GMT

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

Jonathan Gray commented on HBASE-1563:

We are already getting a row lock, there is no race condition that I can see.

I'd really like the increment-in-place over making a new KV each time we increment.  The downside
is if the regionserver dies in the brief window after the update and before the WAL append,
we lose a single increment.  If it dies on either side, then nothing would change.

The upside is we don't allocate a new KV each time.  That's what I'm after with increments,
doing them in place and not doing a new insertion each time (and new allocation).  I have
an internal ID assignment system that uses custom patches on 0.19.  Was hoping to drop our
custom patches and use this out of the box, but if we copy the KV each time I'll likely patch
it to not do that :)  I'd rather not lose any increments but the window is very small and
you lose at most a single increment.  If a KV is 100 bytes, and I increment just 1M times
in a day, i've unnecessarily allocated 100MB (and the worst kind, lots of small 100 byte allocations
that stick around for a bit).

We still satisfy the property of "Once the increment has returned successfully, it is safe".
 This weird scenario would actually only happen in a case where the increment started but
never returned (so client should not assume it was successful anyways).

> incrementColumnValue does not write to WAL
> ------------------------------------------
>                 Key: HBASE-1563
>                 URL: https://issues.apache.org/jira/browse/HBASE-1563
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: Jonathan Gray
>            Assignee: Jonathan Gray
>             Fix For: 0.20.0
>         Attachments: HBASE-1563-v1.patch, HBASE-1563-v2.patch, HBASE-1563-v3.patch
> Incrementing never writes to the WAL.  Under failure scenarios, you will lose all increments
since the last flush.
> Do we want to expose the option to the client as to whether to write to WAL or not?

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

View raw message