Also, please correct me if I am wrong, but I don't think a put is durable
when an RPC returns to the client. Just its corresponding WAL entry is
pushed to the memory of all three data nodes, so it has a low probability
of being lost. But nothing is persisted at this point.

And this is true no mater you use SYNC_WAL or FSYNC_WAL flag.

On Tue, Mar 28, 2017 at 12:11 PM, Josh Elser <els...@apache.org> wrote:

> 1.1 -> 2: don't forget about the block cache which can invalidate the need
> for any HDFS read.
>
> I think you're over-simplifying the write-path quite a bit. I'm not sure
> what you mean by an 'asynchronous write', but that doesn't exist at the
> HBase RPC layer as that would invalidate the consistency guarantees (if an
> RPC returns to the client that data was "put", then it is durable).
>
> Going off of memory (sorry in advance if I misstate something): the
> general way that data is written to the WAL is a "group commit". You have
> many threads all trying to append data to the WAL -- performance would be
> terrible if you serially applied all of these writes. Instead, many writes
> can be accepted and a the caller receives a Future. The caller must wait
> for the Future to complete. What's happening behind the scene is that the
> writes are being bundled together to reduce the number of syncs to the WAL
> ("grouping" the writes together). When one caller's future would complete,
> what really happened is that the write/sync which included the caller's
> update was committed (along with others). All of this is happening inside
> the RS's implementation of accepting an update.
>
> https://github.com/apache/hbase/blob/55d6dcaf877cc5223e67973
> 6eb613173229c18be/hbase-server/src/main/java/org/apache/hadoop/hbase/
> regionserver/wal/FSHLog.java#L74-L106
>
>
> 杨苏立 Yang Su Li wrote:
>
>> The attachment can be found in the following URL:
>> http://pages.cs.wisc.edu/~suli/hbase.pdf
>>
>> Sorry for the inconvenience...
>>
>>
>> On Mon, Mar 27, 2017 at 8:25 PM, Ted Yu<yuzhih...@gmail.com>  wrote:
>>
>> Again, attachment didn't come thru.
>>>
>>> Is it possible to formulate as google doc ?
>>>
>>> Thanks
>>>
>>> On Mon, Mar 27, 2017 at 6:19 PM, 杨苏立 Yang Su Li<yangs...@gmail.com>
>>> wrote:
>>>
>>> Hi,
>>>>
>>>> I am a graduate student working on scheduling on storage systems, and we
>>>> are interested in how different threads in HBase interact with each
>>>> other
>>>> and how it might affect scheduling.
>>>>
>>>> I have written down my understanding on how HBase/HDFS works based on
>>>> its
>>>> current thread architecture (attached). I am wondering if the developers
>>>>
>>> of
>>>
>>>> HBase could take a look at it and let me know if anything is incorrect
>>>> or
>>>> inaccurate, or if I have missed anything.
>>>>
>>>> Thanks a lot for your help!
>>>>
>>>> On Wed, Mar 22, 2017 at 3:39 PM, 杨苏立 Yang Su Li<yangs...@gmail.com>
>>>> wrote:
>>>>
>>>> Hi,
>>>>>
>>>>> I am a graduate student working on scheduling on storage systems, and
>>>>> we
>>>>> are interested in how different threads in HBase interact with each
>>>>>
>>>> other
>>>
>>>> and how it might affect scheduling.
>>>>>
>>>>> I have written down my understanding on how HBase/HDFS works based on
>>>>>
>>>> its
>>>
>>>> current thread architecture (attached). I am wondering if the
>>>>>
>>>> developers of
>>>
>>>> HBase could take a look at it and let me know if anything is incorrect
>>>>>
>>>> or
>>>
>>>> inaccurate, or if I have missed anything.
>>>>>
>>>>> Thanks a lot for your help!
>>>>>
>>>>> --
>>>>> Suli Yang
>>>>>
>>>>> Department of Physics
>>>>> University of Wisconsin Madison
>>>>>
>>>>> 4257 Chamberlin Hall
>>>>> Madison WI 53703
>>>>>
>>>>>
>>>>>
>>>> --
>>>> Suli Yang
>>>>
>>>> Department of Physics
>>>> University of Wisconsin Madison
>>>>
>>>> 4257 Chamberlin Hall
>>>> Madison WI 53703
>>>>
>>>>
>>>>
>>
>>
>>


-- 
Suli Yang

Department of Physics
University of Wisconsin Madison

4257 Chamberlin Hall
Madison WI 53703

Reply via email to