fix(core): local blobs are not being deleted when gc in unused blobs settings (#9960)
This commit is contained in:
@@ -63,12 +63,6 @@ export class UnusedBlobs extends Entity {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private get localFlavourProvider() {
|
|
||||||
return this.flavoursService.flavours$.value.find(
|
|
||||||
f => f.flavour === 'local'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
async listBlobs() {
|
async listBlobs() {
|
||||||
const blobs = await this.flavourProvider?.listBlobs(
|
const blobs = await this.flavourProvider?.listBlobs(
|
||||||
this.workspaceService.workspace.id
|
this.workspaceService.workspace.id
|
||||||
@@ -90,14 +84,6 @@ export class UnusedBlobs extends Entity {
|
|||||||
blob,
|
blob,
|
||||||
permanent
|
permanent
|
||||||
);
|
);
|
||||||
|
|
||||||
if (this.localFlavourProvider !== this.flavourProvider) {
|
|
||||||
await this.localFlavourProvider?.deleteBlob(
|
|
||||||
this.workspaceService.workspace.id,
|
|
||||||
blob,
|
|
||||||
permanent
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async getUnusedBlobs(abortSignal?: AbortSignal) {
|
async getUnusedBlobs(abortSignal?: AbortSignal) {
|
||||||
|
|||||||
@@ -386,6 +386,17 @@ class CloudWorkspaceFlavourProvider implements WorkspaceFlavourProvider {
|
|||||||
serverBaseUrl: this.server.serverMetadata.baseUrl,
|
serverBaseUrl: this.server.serverMetadata.baseUrl,
|
||||||
});
|
});
|
||||||
await cloudStorage.delete(blob, permanent);
|
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 {
|
onWorkspaceInitialized(workspace: Workspace): void {
|
||||||
|
|||||||
Reference in New Issue
Block a user