/** * Create a new {@link HFileLink} to reference the store file. * * <p>The store file in the snapshot can be a simple hfile, an HFileLink or a reference. * * <ul> * <li>hfile: abc -> table=region-abc * <li>reference: abc.1234 -> table=region-abc.1234 * <li>hfilelink: table=region-hfile -> table=region-hfile * </ul> * * @param familyDir destination directory for the store file * @param regionInfo destination region info for the table * @param hfileName store file name (can be a Reference, HFileLink or simple HFile) */ private void restoreStoreFile( final Path familyDir, final HRegionInfo regionInfo, final String hfileName) throws IOException { if (HFileLink.isHFileLink(hfileName)) { HFileLink.createFromHFileLink(conf, fs, familyDir, hfileName); } else if (StoreFile.isReference(hfileName)) { restoreReferenceFile(familyDir, regionInfo, hfileName); } else { HFileLink.create(conf, fs, familyDir, regionInfo, hfileName); } }