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

Matt Corgan commented on HBASE-7660:
------------------------------------

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.  It would leave only one implementation of the interfaces and 
abstract classes.

Later, we can go back and look at the purpose of the interfaces and abstract 
classes.  I'm guessing they are partly designed specifically as a shim layer 
between v1/v2.  A shim layer between v2 and future unknown v3 may have 
completely different needs.

Getting out of the scope of this jira - we may want to flatten the interface, 
abstractClass, and implementation to make it easier to clean up the Store code, 
and then pull out a different interface in the future when we actually have a 
use case for it.
                
> 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