Hi Sever

Coprocessors are still new for me, so I don't have a good answer for your 
second question.

But for your first, (as far as I understand)  remember that you can send 
Puts/Deletes in any order, and Memstore is responsible for keeping your data 
sorted before flushing to a StoreFile, and keep in mind that StoreFiles are 
splitted by RowKey range, partitioned by ColumnFamily, sorted by RowKey, 
immutable and subjected to compactions and splits. It is not that easy to 
manage all this constraints fast enough to keep a low latency for random write 
operations.

Also, HLog is append able, so it's ok to just append some grains of data at its 
end as these data reaches the RS. 

Regards,
Cristofer

-----Mensagem original-----
De: Sever Fundatureanu [mailto:fundatureanu.se...@gmail.com] 
Enviada em: sexta-feira, 13 de julho de 2012 07:42
Para: user@hbase.apache.org
Assunto: HBase Fault tolerance

Hello,

I would like to understand more in-depth how fault tolerance is handled in
HBase:

1. So for each put operation an RS first writes to an HLog file and then to the 
Memstore. If the RS crashes the HLog file is replayed by other servers, correct?
My question is how is this HLog file different from a StoreFile? Why is it 
faster to write to an HLog file and not write directly to a StoreFile?

2. How is fault tolerance handled for an RS with a coprocessor loaded? Will 
other servers load that coprocessor if the original RS crashes? If yes, will 
the HLog be replayed with the coprocessor already loaded?

Thanks in advance for the responses.
--
Sever Fundatureanu

Vrije Universiteit Amsterdam
E-mail: fundatureanu.se...@gmail.com

Reply via email to