private void registerBulkLoad(ObserverContext<? extends RegionCoprocessorEnvironment> ctx,
    Map<byte[], List<Path>> cfToHFilePaths) throws IOException {
    Configuration cfg = ctx.getEnvironment().getConfiguration();
    RegionInfo region = ctx.getEnvironment().getRegionInfo();
    TableName tableName = region.getTable();

    try (Connection connection = ConnectionFactory.createConnection(cfg);
      BackupSystemTable tbl = new BackupSystemTable(connection)) {
      Set<TableName> fullyBackedUpTables = tbl.getTablesIncludedInBackups();

      if (fullyBackedUpTables.contains(tableName)) {
        tbl.registerBulkLoad(tableName, region.getEncodedNameAsBytes(), cfToHFilePaths);
      } else {
        if (LOG.isTraceEnabled()) {
          LOG.trace("Table {} has not gone through full backup - skipping.", tableName);
        }
      }
    }
  }
An Observer to facilitate backup operations
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupObserver.java