Apache9 commented on a change in pull request #3749:
URL: https://github.com/apache/hbase/pull/3749#discussion_r734530117
##########
File path:
hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
##########
@@ -641,18 +676,44 @@ private void cloneHdfsMobRegion(final Map<String,
SnapshotRegionManifest> region
* @param regionDir {@link Path} cloned dir
* @param snapshotRegionInfo
*/
- private void cloneRegion(final Path regionDir, final RegionInfo
snapshotRegionInfo,
- final SnapshotRegionManifest manifest) throws IOException {
+ private void cloneRegion(final RegionInfo newRegionInfo, final Path
regionDir,
+ final RegionInfo snapshotRegionInfo, final SnapshotRegionManifest
manifest)
+ throws IOException {
final String tableName = tableDesc.getTableName().getNameAsString();
final String snapshotName = snapshotDesc.getName();
for (SnapshotRegionManifest.FamilyFiles familyFiles:
manifest.getFamilyFilesList()) {
Path familyDir = new Path(regionDir,
familyFiles.getFamilyName().toStringUtf8());
+ List<StoreFileInfo> clonedFiles = new ArrayList<>();
for (SnapshotRegionManifest.StoreFile storeFile:
familyFiles.getStoreFilesList()) {
LOG.info("Adding HFileLink " + storeFile.getName() +" from cloned
region "
+ "in snapshot " + snapshotName + " to table=" + tableName);
- restoreStoreFile(familyDir, snapshotRegionInfo, storeFile,
createBackRefs);
+ if (MobUtils.isMobRegionInfo(newRegionInfo)) {
+ String mobFileName =
HFileLink.createHFileLinkName(snapshotRegionInfo,
+ storeFile.getName());
+ Path mobPath = new Path(familyDir, mobFileName);
+ if (fs.exists(mobPath)) {
+ fs.delete(mobPath, true);
+ }
+ restoreStoreFile(familyDir, snapshotRegionInfo, storeFile,
createBackRefs);
+ } else {
+ String file = restoreStoreFile(familyDir, snapshotRegionInfo,
storeFile, createBackRefs);
+ clonedFiles.add(new StoreFileInfo(conf, fs, new Path(familyDir,
file), true));
+ }
+ }
+ //we don't need to track regions under mobdir
Review comment:
I think you mean we do not need to track store files under mobdir?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]