Description
While building the .META. and -ROOT- from FS data alone (HBASE-4377), hbck tries to move the existing .META. and -ROOT- directories to a backup folder.
This backup folder is created at the same level as the base HBase folder (e.g. /hbase-xxxxxx if the base HBase folder is '/hbase').
In a federated HDFS like ViewFS and other similar FS implementations, it is not possible to rename files/directories across namespace volumes (ViewFS guide section 3.5) and as a result hbck crashes.
A solution to this problem is to create the backup directory under the folder where HBase base folder has been mounted. This ensures that source and destination of rename operation are on the same namespace volume.
Patch for 0.94 and trunk is attached for review. The patch modifies the location of the backup directory from '/hbase-xxxxxxx' to '/hbase/.hbcktmp-xxxxxxx'