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

Andrew Purtell commented on HBASE-7660:
---------------------------------------

bq. I think for this jira we'd only want to remove HFileReaderV1, 
HFileWriterV1, and FSReaderV1. The main goal being to forcibly drop support for 
them before branching 0.96.

This sounds like a good idea. I was worried about more substantial changes 
because I am currently working in HFile V2. That said, with V1 gone it would be 
a good thing that we can simplify and remove code in this area over time. 

bq. hbase-support/hfile-v1-to-v2-tool that can be used as migration tool

This would seem like working against the goal to remove the old code. I think 
anyone upgrading to 0.96 would be doing it from 0.92 or 0.94, which 
auto-upgrades HFiles. We could document in release notes that before upgrading 
the user should run a major compaction.
                
> 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