fix(core): local blobs are not being deleted when gc in unused blobs settings (#9960)

This commit is contained in:
pengx17
2025-02-05 13:01:17 +00:00
parent 9cae1c3a28
commit d3400fbe89
2 changed files with 11 additions and 14 deletions

View File

@@ -63,12 +63,6 @@ export class UnusedBlobs extends Entity {
);
}
private get localFlavourProvider() {
return this.flavoursService.flavours$.value.find(
f => f.flavour === 'local'
);
}
async listBlobs() {
const blobs = await this.flavourProvider?.listBlobs(
this.workspaceService.workspace.id
@@ -90,14 +84,6 @@ export class UnusedBlobs extends Entity {
blob,
permanent
);
if (this.localFlavourProvider !== this.flavourProvider) {
await this.localFlavourProvider?.deleteBlob(
this.workspaceService.workspace.id,
blob,
permanent
);
}
}
async getUnusedBlobs(abortSignal?: AbortSignal) {

View File

@@ -386,6 +386,17 @@ class CloudWorkspaceFlavourProvider implements WorkspaceFlavourProvider {
serverBaseUrl: this.server.serverMetadata.baseUrl,
});
await cloudStorage.delete(blob, permanent);
// should also delete from local storage
const storage = new this.BlobStorageType({
id: id,
flavour: this.flavour,
type: 'workspace',
});
storage.connection.connect();
await storage.connection.waitForConnected();
await storage.delete(blob, permanent);
storage.connection.disconnect();
}
onWorkspaceInitialized(workspace: Workspace): void {