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.
|Status||Resolved [ 5 ]||Closed [ 6 ]|
|Fix Version/s||0.95.0 [ 12324094 ]|
|Fix Version/s||0.96.0 [ 12320040 ]|
|Status||Patch Available [ 10002 ]||Resolved [ 5 ]|
|Resolution||Fixed [ 1 ]|
|Status||Open [ 1 ]||Patch Available [ 10002 ]|