This is an automated email from the ASF dual-hosted git repository.

stack pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new a09c0c8  HBASE-22899 logging improvements for snapshot operations 
w/large manifests (#547)
a09c0c8 is described below

commit a09c0c88b694af25575fb50812e14fb667f5ac5b
Author: ravowlga123 <[email protected]>
AuthorDate: Sat Sep 14 19:16:49 2019 +0200

    HBASE-22899 logging improvements for snapshot operations w/large manifests 
(#547)
    
    Signed-off-by: Jan Hentschel <[email protected]>
---
 .../hbase/snapshot/RestoreSnapshotHelper.java       | 21 ++++++++++++++-------
 .../hadoop/hbase/snapshot/SnapshotManifest.java     |  9 ++++++---
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
index f533af4..43d892f 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
@@ -501,6 +501,7 @@ public class RestoreSnapshotHelper {
                 getRegionHFileReferences(regionManifest);
 
     String tableName = tableDesc.getTableName().getNameAsString();
+    final String snapshotName = snapshotDesc.getName();
 
     // Restore families present in the table
     for (Path familyDir: FSUtils.getFamilyDirs(fs, regionDir)) {
@@ -523,20 +524,21 @@ public class RestoreSnapshotHelper {
         // Remove hfiles not present in the snapshot
         for (String hfileName: familyFiles) {
           Path hfile = new Path(familyDir, hfileName);
-          LOG.trace("Removing hfile=" + hfileName +
+          LOG.trace("Removing HFile=" + hfileName + " not present in 
snapshot=" + snapshotName+
             " from region=" + regionInfo.getEncodedName() + " table=" + 
tableName);
           HFileArchiver.archiveStoreFile(conf, fs, regionInfo, tableDir, 
family, hfile);
         }
 
         // Restore Missing files
         for (SnapshotRegionManifest.StoreFile storeFile: hfilesToAdd) {
-          LOG.debug("Adding HFileLink " + storeFile.getName() +
-            " to region=" + regionInfo.getEncodedName() + " table=" + 
tableName);
+          LOG.debug("Restoring missing HFileLink " + storeFile.getName() +
+                  " of snapshot=" + snapshotName+
+                  " to region=" + regionInfo.getEncodedName() + " table=" + 
tableName);
           restoreStoreFile(familyDir, regionInfo, storeFile, createBackRefs);
         }
       } else {
         // Family doesn't exists in the snapshot
-        LOG.trace("Removing family=" + Bytes.toString(family) +
+        LOG.trace("Removing family=" + Bytes.toString(family) + " in 
snapshot=" + snapshotName +
           " from region=" + regionInfo.getEncodedName() + " table=" + 
tableName);
         HFileArchiver.archiveFamilyByFamilyDir(fs, conf, regionInfo, 
familyDir, family);
         fs.delete(familyDir, true);
@@ -552,7 +554,8 @@ public class RestoreSnapshotHelper {
       }
 
       for (SnapshotRegionManifest.StoreFile storeFile: familyEntry.getValue()) 
{
-        LOG.trace("Adding HFileLink " + storeFile.getName() + " to table=" + 
tableName);
+        LOG.trace("Adding HFileLink (Not present in the table) " + 
storeFile.getName()
+                + " of snapshot " + snapshotName + " to table=" + tableName);
         restoreStoreFile(familyDir, regionInfo, storeFile, createBackRefs);
       }
     }
@@ -584,6 +587,7 @@ public class RestoreSnapshotHelper {
     if (regions == null || regions.isEmpty()) return null;
 
     final Map<String, RegionInfo> snapshotRegions = new 
HashMap<>(regions.size());
+    final String snapshotName = snapshotDesc.getName();
 
     // clone region info (change embedded tableName with the new one)
     RegionInfo[] clonedRegionsInfo = new RegionInfo[regions.size()];
@@ -596,7 +600,8 @@ public class RestoreSnapshotHelper {
       String snapshotRegionName = snapshotRegionInfo.getEncodedName();
       String clonedRegionName = clonedRegionsInfo[i].getEncodedName();
       regionsMap.put(Bytes.toBytes(snapshotRegionName), 
Bytes.toBytes(clonedRegionName));
-      LOG.info("clone region=" + snapshotRegionName + " as " + 
clonedRegionName);
+      LOG.info("clone region=" + snapshotRegionName + " as " + 
clonedRegionName +
+              " in snapshot " + snapshotName);
 
       // Add mapping between cloned region name and snapshot region info
       snapshotRegions.put(clonedRegionName, snapshotRegionInfo);
@@ -640,10 +645,12 @@ public class RestoreSnapshotHelper {
   private void cloneRegion(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());
       for (SnapshotRegionManifest.StoreFile storeFile: 
familyFiles.getStoreFilesList()) {
-        LOG.info("Adding HFileLink " + storeFile.getName() + " to table=" + 
tableName);
+        LOG.info("Adding HFileLink " + storeFile.getName() +" from cloned 
region "
+                + "in snapshot " + snapshotName + " to table=" + tableName);
         restoreStoreFile(familyDir, snapshotRegionInfo, storeFile, 
createBackRefs);
       }
     }
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java
index e2236ee..bf6699d 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java
@@ -185,7 +185,8 @@ public final class SnapshotManifest {
   @VisibleForTesting
   protected void addMobRegion(RegionInfo regionInfo, RegionVisitor visitor) 
throws IOException {
     // 1. dump region meta info into the snapshot directory
-    LOG.debug("Storing mob region '" + regionInfo + "' region-info for 
snapshot.");
+    final String snapshotName = desc.getName();
+    LOG.debug("Storing mob region '" + regionInfo + "' region-info for 
snapshot=" + snapshotName);
     Object regionData = visitor.regionOpen(regionInfo);
     monitor.rethrowException();
 
@@ -232,7 +233,8 @@ public final class SnapshotManifest {
   @VisibleForTesting
   protected void addRegion(final HRegion region, RegionVisitor visitor) throws 
IOException {
     // 1. dump region meta info into the snapshot directory
-    LOG.debug("Storing '" + region + "' region-info for snapshot.");
+    final String snapshotName = desc.getName();
+    LOG.debug("Storing '" + region + "' region-info for snapshot=" + 
snapshotName);
     Object regionData = visitor.regionOpen(region.getRegionInfo());
     monitor.rethrowException();
 
@@ -256,7 +258,8 @@ public final class SnapshotManifest {
         monitor.rethrowException();
 
         // create "reference" to this store file.
-        LOG.debug("Adding reference for file (" + (i+1) + "/" + sz + "): " + 
storeFile.getPath());
+        LOG.debug("Adding reference for file (" + (i+1) + "/" + sz + "): " + 
storeFile.getPath() +
+                " for snapshot=" + snapshotName);
         visitor.storeFile(regionData, familyData, storeFile.getFileInfo());
       }
       visitor.familyClose(regionData, familyData);

Reply via email to