hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tallat (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-3903) A successful write to client write-buffer may be lost or not visible
Date Fri, 20 May 2011 09:59:47 GMT

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

Tallat commented on HBASE-3903:
-------------------------------

+1 on the patch, but I would suggest a couple of other things:

1) We can mention the same thing in section 10.1.2. "WriteBuffer and Batch Methods" for clarity,
in <a href="book.html#client">client architecture</a>.

2) IMHO, the documentation at http://hbase.apache.org/acid-semantics.html has some weak points
that need clarification, for example:

  (a) Visibility: <quote> When a client receives a "success" response for any mutation,
that mutation is immediately visible to both that client and any client with whom it later
communicates through side channels.</quote>

      Here, what is a side channel exactly? 

  (b) Durability: <quote> All reasonable failure scenarios will not affect any of the
guarantees of this document.</quote> 

    Here, what is a reasonable failure scenario?

Thanks.

> A successful write to client write-buffer may be lost or not visible
> --------------------------------------------------------------------
>
>                 Key: HBASE-3903
>                 URL: https://issues.apache.org/jira/browse/HBASE-3903
>             Project: HBase
>          Issue Type: Bug
>          Components: documentation
>         Environment: Any.
>            Reporter: Tallat
>            Assignee: Doug Meil
>            Priority: Minor
>              Labels: documentation
>         Attachments: acid-semantics_HBASE_3903.xml.patch
>
>
> A client can do a write to a client side 'write buffer' if enabled via hTable.setAutoFlush(false).
Now, assume a client puts value v under key k. Two wrongs things can happen, violating the
ACID semantics  of Hbase given at: http://hbase.apache.org/acid-semantics.html
> 1) Say the client fails immediately after the put succeeds. In this case, the put will
be lost, violating the durability property:
> <quote> Any operation that returns a "success" code (eg does not throw an exception)
will be made durable. </quote>
>  
> 2) Say the client issues a read for k immediately after writing k. The put will be stored
in the client side write buffer, while the read will go to the region server, returning an
older value, instead of v, violating the visibility property:
> <quote>
> When a client receives a "success" response for any mutation, that mutation
> is immediately visible to both that client and any client with whom it later
> communicates through side channels.
> </quote>
> Thanks,
> Tallat

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message