in services/library/src/main/java/com/google/cloud/pso/bq_snapshot_manager/functions/f02_configurator/Configurator.java [457:496]
public Tuple<String, BackupPolicy> findFallbackBackupPolicy(FallbackBackupPolicy fallbackBackupPolicy,
TableSpec tableSpec,
String runId
) throws IOException {
BackupPolicy tableLevel = fallbackBackupPolicy.getTableOverrides().get(tableSpec.toSqlString());
if (tableLevel != null) {
return Tuple.of("table", tableLevel);
}
BackupPolicy datasetLevel = fallbackBackupPolicy.getDatasetOverrides().get(
String.format("%s.%s", tableSpec.getProject(), tableSpec.getDataset())
);
if (datasetLevel != null) {
return Tuple.of("dataset", datasetLevel);
}
BackupPolicy projectLevel = fallbackBackupPolicy.getProjectOverrides().get(
tableSpec.getProject()
);
if (projectLevel != null) {
return Tuple.of("project", projectLevel);
}
// API CALL (or cache)
Tuple<String, String> folderLookupTuple = resourceScanner.getParentFolderId(tableSpec.getProject(), runId);
if (folderLookupTuple != null) {
String folderId = folderLookupTuple.x();
BackupPolicy folderLevel = fallbackBackupPolicy.getFolderOverrides().get(folderId);
if (folderLevel != null) {
// source is folder-cache or folder-api to trace and debug cache performance
return Tuple.of(String.format("folder-from-%s", folderLookupTuple.y()), folderLevel);
}
}
// else return the global default policy
return Tuple.of("default", fallbackBackupPolicy.getDefaultPolicy());
}