@Override
  public void preCommitStoreFile(final ObserverContext<? extends RegionCoprocessorEnvironment> ctx,
    final byte[] family, final List<Pair<Path, Path>> pairs) throws IOException {
    Configuration cfg = ctx.getEnvironment().getConfiguration();
    if (pairs == null || pairs.isEmpty() || !BackupManager.isBackupEnabled(cfg)) {
      LOG.debug("skipping recording bulk load in preCommitStoreFile since backup is disabled");
      return;
    }

    List<Path> hfiles = new ArrayList<>(pairs.size());
    for (Pair<Path, Path> pair : pairs) {
      hfiles.add(pair.getSecond());
    }
    registerBulkLoad(ctx, Collections.singletonMap(family, hfiles));
  }
An Observer to facilitate backup operations
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupObserver.java