this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

No cache invalidation on blob deletion (#1008)

no invalidate on blob deletion

authored by

Daniel Holmgren and committed by
GitHub
51503384 b20a5045

+4 -35
-2
packages/pds/src/services/index.ts
··· 43 43 messageDispatcher, 44 44 blobstore, 45 45 backgroundQueue, 46 - imgUriBuilder, 47 - imgInvalidator, 48 46 labeler, 49 47 ), 50 48 moderation: ModerationService.creator(
+3 -16
packages/pds/src/services/repo/blobs.ts
··· 13 13 import * as img from '../../image' 14 14 import { BlobRef } from '@atproto/lexicon' 15 15 import { PreparedDelete, PreparedUpdate } from '../../repo' 16 - import { ImageInvalidator } from '../../image/invalidator' 17 - import { ImageUriBuilder } from '../../image/uri' 18 16 import { BackgroundQueue } from '../../event-stream/background-queue' 19 17 20 18 export class RepoBlobs { ··· 22 20 public db: Database, 23 21 public blobstore: BlobStore, 24 22 public backgroundQueue: BackgroundQueue, 25 - public imgUriBuilder: ImageUriBuilder, 26 - public imgInvalidator: ImageInvalidator, 27 23 ) {} 28 24 29 25 async addUntetheredBlob( ··· 143 139 if (blobsToDelete.length > 0) { 144 140 this.db.onCommit(() => { 145 141 this.backgroundQueue.add(async () => { 146 - await Promise.allSettled([ 147 - ...blobsToDelete.map((cid) => 148 - this.blobstore.delete(CID.parse(cid)), 149 - ), 150 - ...blobsToDelete.map((cid) => { 151 - const paths = ImageUriBuilder.commonSignedUris.map((id) => { 152 - const uri = this.imgUriBuilder.getCommonSignedUri(id, cid) 153 - return uri.replace(this.imgUriBuilder.endpoint, '') 154 - }) 155 - return this.imgInvalidator.invalidate(cid, paths) 156 - }), 157 - ]) 142 + await Promise.allSettled( 143 + blobsToDelete.map((cid) => this.blobstore.delete(CID.parse(cid))), 144 + ) 158 145 }) 159 146 }) 160 147 }
+1 -17
packages/pds/src/services/repo/index.ts
··· 23 23 import * as sequencer from '../../sequencer' 24 24 import { Labeler } from '../../labeler' 25 25 import { wait } from '@atproto/common' 26 - import { ImageInvalidator } from '../../image/invalidator' 27 - import { ImageUriBuilder } from '../../image/uri' 28 26 import { BackgroundQueue } from '../../event-stream/background-queue' 29 27 30 28 export class RepoService { ··· 36 34 public messageDispatcher: MessageQueue, 37 35 public blobstore: BlobStore, 38 36 public backgroundQueue: BackgroundQueue, 39 - public imgUriBuilder: ImageUriBuilder, 40 - public imgInvalidator: ImageInvalidator, 41 37 public labeler: Labeler, 42 38 ) { 43 - this.blobs = new RepoBlobs( 44 - db, 45 - blobstore, 46 - backgroundQueue, 47 - imgUriBuilder, 48 - imgInvalidator, 49 - ) 39 + this.blobs = new RepoBlobs(db, blobstore, backgroundQueue) 50 40 } 51 41 52 42 static creator( ··· 54 44 messageDispatcher: MessageQueue, 55 45 blobstore: BlobStore, 56 46 backgroundQueue: BackgroundQueue, 57 - imgUriBuilder: ImageUriBuilder, 58 - imgInvalidator: ImageInvalidator, 59 47 labeler: Labeler, 60 48 ) { 61 49 return (db: Database) => ··· 65 53 messageDispatcher, 66 54 blobstore, 67 55 backgroundQueue, 68 - imgUriBuilder, 69 - imgInvalidator, 70 56 labeler, 71 57 ) 72 58 } ··· 86 72 this.messageDispatcher, 87 73 this.blobstore, 88 74 this.backgroundQueue, 89 - this.imgUriBuilder, 90 - this.imgInvalidator, 91 75 this.labeler, 92 76 ) 93 77 return fn(srvc)