No cache invalidation on blob deletion ()

no invalidate on blob deletion
This commit is contained in:
Daniel Holmgren 2023-05-09 08:57:45 -05:00 committed by GitHub
parent b20a5045a2
commit 51503384b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 35 deletions
packages/pds/src/services

@ -43,8 +43,6 @@ export function createServices(resources: {
messageDispatcher,
blobstore,
backgroundQueue,
imgUriBuilder,
imgInvalidator,
labeler,
),
moderation: ModerationService.creator(

@ -13,8 +13,6 @@ import { Blob as BlobTable } from '../../db/tables/blob'
import * as img from '../../image'
import { BlobRef } from '@atproto/lexicon'
import { PreparedDelete, PreparedUpdate } from '../../repo'
import { ImageInvalidator } from '../../image/invalidator'
import { ImageUriBuilder } from '../../image/uri'
import { BackgroundQueue } from '../../event-stream/background-queue'
export class RepoBlobs {
@ -22,8 +20,6 @@ export class RepoBlobs {
public db: Database,
public blobstore: BlobStore,
public backgroundQueue: BackgroundQueue,
public imgUriBuilder: ImageUriBuilder,
public imgInvalidator: ImageInvalidator,
) {}
async addUntetheredBlob(
@ -143,18 +139,9 @@ export class RepoBlobs {
if (blobsToDelete.length > 0) {
this.db.onCommit(() => {
this.backgroundQueue.add(async () => {
await Promise.allSettled([
...blobsToDelete.map((cid) =>
this.blobstore.delete(CID.parse(cid)),
),
...blobsToDelete.map((cid) => {
const paths = ImageUriBuilder.commonSignedUris.map((id) => {
const uri = this.imgUriBuilder.getCommonSignedUri(id, cid)
return uri.replace(this.imgUriBuilder.endpoint, '')
})
return this.imgInvalidator.invalidate(cid, paths)
}),
])
await Promise.allSettled(
blobsToDelete.map((cid) => this.blobstore.delete(CID.parse(cid))),
)
})
})
}

@ -23,8 +23,6 @@ import { RecordService } from '../record'
import * as sequencer from '../../sequencer'
import { Labeler } from '../../labeler'
import { wait } from '@atproto/common'
import { ImageInvalidator } from '../../image/invalidator'
import { ImageUriBuilder } from '../../image/uri'
import { BackgroundQueue } from '../../event-stream/background-queue'
export class RepoService {
@ -36,17 +34,9 @@ export class RepoService {
public messageDispatcher: MessageQueue,
public blobstore: BlobStore,
public backgroundQueue: BackgroundQueue,
public imgUriBuilder: ImageUriBuilder,
public imgInvalidator: ImageInvalidator,
public labeler: Labeler,
) {
this.blobs = new RepoBlobs(
db,
blobstore,
backgroundQueue,
imgUriBuilder,
imgInvalidator,
)
this.blobs = new RepoBlobs(db, blobstore, backgroundQueue)
}
static creator(
@ -54,8 +44,6 @@ export class RepoService {
messageDispatcher: MessageQueue,
blobstore: BlobStore,
backgroundQueue: BackgroundQueue,
imgUriBuilder: ImageUriBuilder,
imgInvalidator: ImageInvalidator,
labeler: Labeler,
) {
return (db: Database) =>
@ -65,8 +53,6 @@ export class RepoService {
messageDispatcher,
blobstore,
backgroundQueue,
imgUriBuilder,
imgInvalidator,
labeler,
)
}
@ -86,8 +72,6 @@ export class RepoService {
this.messageDispatcher,
this.blobstore,
this.backgroundQueue,
this.imgUriBuilder,
this.imgInvalidator,
this.labeler,
)
return fn(srvc)