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 [[email protected]] Sent: Wednesday, October 17, 2012 5:54 PM To: [email protected] 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
