[
https://issues.apache.org/jira/browse/HBASE-3903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Doug Meil updated HBASE-3903:
-----------------------------
Attachment: acid-semantics_HBASE_3903.xml.patch
I had a reference to Delete being in the write-buffer, which isn't correct.
> 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
> 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