hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4583) Integrate RWCC with Append and Increment operations
Date Wed, 02 Nov 2011 16:03:32 GMT

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

stack commented on HBASE-4583:

bq. There are various ways to produce serializable schedules (pessimistic locking, optimistic
locking with rechecking of pre conditions, snapshot isolation, etc), all which will probably
mean worse performance for both append and increment.

Shouldn't we do it anyways (though big yuck on your list above -- it makes my brain hurt just
thinking on it.  Can you imagine rechecking pre-conditions and then replaying the failed transaction..
how much fun that'll be to code up!)?

Shouldn't we be correct first and then performant?

bq. As said above the current implementation sync's the WAL after the memstore is updated
and the new values are visible to other threads, and after the locks are released. 

Sounds broke to me; sounds like big compromise for sake of better perf.  Should we open new
issue on this?

bq. (1) and (2) together mean that the WAL needs to be sync'ed with the row lock held (which
would be quite a performance degradation).

Shouldn't we ship with this config. with options to run hbase otherwise (memstore put then
sync, etc.)

bq. Now, what we could do is use rwcc to make the changes to the CFs atomic, and still sync
the WAL after all the locks are released (as we do now). With this compromise everything would
be correct unless the sync'ing of WAL fails

Sounds broke still?

Thanks for the write up and for digging in here fellas.

> Integrate RWCC with Append and Increment operations
> ---------------------------------------------------
>                 Key: HBASE-4583
>                 URL: https://issues.apache.org/jira/browse/HBASE-4583
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>             Fix For: 0.94.0
>         Attachments: 4583-v2.txt, 4583-v3.txt, 4583-v4.txt, 4583.txt
> Currently Increment and Append operations do not work with RWCC and hence a client could
see the results of multiple such operation mixed in the same Get/Scan.
> The semantics might be a bit more interesting here as upsert adds and removes to and
from the memstore.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message