[ 
https://issues.apache.org/jira/browse/HBASE-7660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13562169#comment-13562169
 ] 

Jonathan Hsieh edited comment on HBASE-7660 at 1/25/13 12:08 AM:
-----------------------------------------------------------------

When HDFS upgrades incompatibly (hadoop1 -> hadoop2), it happens in is in 
"upgrade mode" and "finalize" command that I assume forces everything to the 
newer format.  Once finalized, you can't go back but you should be safe to go 
forward.  Before finalized, I believe it continues to only write in the older 
format.  This feels like #3 (except front loaded instead of lazy before the 
next upgrade).

We've actually run into some HFile format problems between 0.92 and 0.94 
recently -- [~eclark]'s HBASE-7647, and I believe he's found another.
                
      was (Author: jmhsieh):
    When HDFS upgrades incompatibly (hadoop1 -> hadoop2), it happens in is in 
"upgrade mode" and "finalize" command that I assume forces everything to the 
newer format.  Once finalized, you can't go back but you should be safe to go 
forward.  Before finalized, I believe it continues to only write in the new 
format.  This feels like #3 (except front loaded instead of lazy before the 
next upgrade).

We've actually run into some HFile format problems between 0.92 and 0.94 
recently -- [~eclark]'s HBASE-7647, and I believe he's found another.
                  
> Remove HFileV1 code
> -------------------
>
>                 Key: HBASE-7660
>                 URL: https://issues.apache.org/jira/browse/HBASE-7660
>             Project: HBase
>          Issue Type: Improvement
>          Components: hbck, HFile, migration
>            Reporter: Matt Corgan
>             Fix For: 0.96.0
>
>
> HFileV1 should be removed from the regionserver because it is somewhat of a 
> drag on development for working on the lower level read paths.  It's an 
> impediment to cleaning up the Store code.
> V1 HFiles ceased to be written in 0.92, but the V1 reader was left in place 
> so users could upgrade from 0.90 to 0.92.  Once all HFiles are compacted in 
> 0.92, then the V1 code is no longer needed.  We then decided to leave the V1 
> code in place in 0.94 so users could upgrade directly from 0.90 to 0.94.  The 
> code is still there in trunk but should probably be shown the door.  I see a 
> few options:
> 1) just delete the code and tell people to make sure they compact everything 
> using 0.92 or 0.94
> 2) create a standalone script that people can run on their 0.92 or 0.94 
> cluster that iterates the filesystem and prints out any v1 files with a 
> message that the user should run a major compaction
> 3) add functionality to 0.96.0 (first release, maybe in hbck) that 
> proactively kills v1 files, so that we can be sure there are none when 
> upgrading from 0.96 to 0.98
> 4) punt to 0.98 and probably do one of the above options in a year
> I would vote for #1 or #2 which will allow us to have a v1-free 0.96.0.  
> HFileV1 has already survived 2 major release upgrades which i think many 
> would agree is more than enough for a pre-1.0, free product.  If we can 
> remove it in 0.96.0 it will be out of the way to introduce some nice 
> performance improvements in subsequent 0.96.x releases.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to