Skip to content

Commit

Permalink
Do orphan timestamp cleanup before completing the snapshot
Browse files Browse the repository at this point in the history
  • Loading branch information
gbbafna committed Oct 17, 2024
1 parent 0c3e3c0 commit 2386c93
Showing 1 changed file with 3 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -617,12 +617,12 @@ public void onResponse(RepositoryData repositoryData) {
);
return;
}
listener.onResponse(snapshotInfo);
cleanOrphanTimestamp(repositoryName, repositoryData);
logger.info("created snapshot-v2 [{}] in repository [{}]", repositoryName, snapshotName);
listener.onResponse(snapshotInfo);
// For snapshot-v2, we don't allow concurrent snapshots . But meanwhile non-v2 snapshot operations
// can get queued . This is triggering them.
runNextQueuedOperation(repositoryData, repositoryName, true);
cleanOrphanTimestamp(repositoryName, repositoryData);
}

@Override
Expand Down Expand Up @@ -657,14 +657,8 @@ private void cleanOrphanTimestamp(String repoName, RepositoryData repositoryData
if (orphanPinnedEntities.isEmpty()) {
return;
}

logger.info("Found {} orphan timestamps. Cleaning it up now", orphanPinnedEntities.size());
if (tryEnterRepoLoop(repoName)) {
deleteOrphanTimestamps(pinnedEntities, orphanPinnedEntities);
leaveRepoLoop(repoName);
} else {
logger.info("Concurrent snapshot create/delete is happening. Skipping clean up of orphan timestamps");
}
deleteOrphanTimestamps(pinnedEntities, orphanPinnedEntities);

Check warning on line 661 in server/src/main/java/org/opensearch/snapshots/SnapshotsService.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/org/opensearch/snapshots/SnapshotsService.java#L661

Added line #L661 was not covered by tests
}

private boolean isOrphanPinnedEntity(String repoName, Collection<String> snapshotUUIDs, String pinnedEntity) {
Expand Down

0 comments on commit 2386c93

Please sign in to comment.