hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anoop Sam John <anoo...@huawei.com>
Subject RE: Where is code in hbase that physically delete a record?
Date Wed, 17 Oct 2012 12:31:47 GMT
You can see the code in ScanQueryMatcher
Basically in major compact a scan will be happening scanning all the files... As per the delete
markers, the deleted KVs wont come out of the scanner and thus gets eliminated.  Also in case
of major compact the delete markers itself will get deleted ( Still some more complicated
conditions are there though for these like keep deleted cells and time to purge deletes etc)
I would say check the code in that class...

-Anoop-
________________________________________
From: yun peng [pengyunmomo@gmail.com]
Sent: Wednesday, October 17, 2012 5:54 PM
To: user@hbase.apache.org
Subject: Where is code in hbase that physically delete a record?

Hi, All,
I want to find internal code in hbase where physical deleting a record
occurs.

-some of my understanding.
Correct me if I am wrong. (It is largely based on my experience and even
speculation.) Logically deleting a KeyValue data in hbase is performed by
marking tombmarker (by Delete() per records) or setting TTL/max_version
(per Store). After these actions, however, the physical data are still
there, somewhere in the system. Physically deleting a record in hbase is
realised by *a scanner to discard a keyvalue data record* during the
major_compact.

-what I need
I want to extend hbase to associate some actions with physically deleting a
record. Does hbase provide such hook (or coprocessor API) to inject code
for each KV record that is skipped by hbase storescanner in major_compact.
If not, anyone knows where should I look into in hbase (-0.94.2) for such
code modification?

Thanks.
Yun
Mime
View raw message