Thanks for your reply. I install HBase in pseudo-mode. I think my
situation is that the minor compaction promotes to major compaction. I
have 3 HFiles for table 'test' in one RegionServer. After I issued
compact (org.apache.hadoop.hbase.client.HBaseAdmin.compact()) method,
those 3 HFiles are compacted into 1 HFile and deleted markers are
discarded. That's why I feel there is no difference from minor
compaction and major compaction.
On Fri, Apr 27, 2012 at 12:41 AM, lars hofhansl <[EMAIL PROTECTED]> wrote:
> The main practical difference is that only a major compaction cleans out delete markers.
> Delete markers cannot be removed during a minor compaction since an affected KeyValue could exist in an HFile that is not part of this compaction.
> -- Lars
> From: yonghu <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Sent: Wednesday, April 25, 2012 11:48 PM
> Subject: Are minor compaction and major compaction different in HBase 0.92?
> My HBase version is 0.92.0. And I find that when I use minor
> compaction and major compaction to compact a table, there are no
> differences. In the minor compaction, it will remove the deleted cells
> and discard the exceeding data versions which should be the task of
> major compaction. I wonder if these two compaction can do the same
> work, why do we need both? I mean the minor compaction has already
> done the job for major compaction, why we still need major compaction?