Преглед изворни кода

fix: disable cleaning secondary database on transition

Karol Sójko пре 1 година
родитељ
комит
4f4443a882

+ 2 - 20
packages/revisions/src/Domain/UseCase/Transition/TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser/TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser.ts

@@ -57,8 +57,6 @@ export class TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser implements
       updatedRevisionsInSecondary = updatedInSecondary
     }
 
-    const updatedRevisionsInSecondaryCount = updatedRevisionsInSecondary.length
-
     const migrationTimeStart = this.timer.getTimestampInMicroseconds()
 
     this.logger.info(`[${dto.userUuid}] Migrating revisions`)
@@ -69,15 +67,6 @@ export class TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser implements
       alreadyIdenticalInSecondaryAndPrimary,
     )
     if (migrationResult.isFailed()) {
-      if (newRevisionsInSecondaryCount === 0 && updatedRevisionsInSecondaryCount === 0) {
-        const cleanupResult = await this.deleteRevisionsForUser(userUuid, this.secondRevisionsRepository)
-        if (cleanupResult.isFailed()) {
-          this.logger.error(
-            `[${dto.userUuid}] Failed to clean up secondary database revisions: ${cleanupResult.getError()}`,
-          )
-        }
-      }
-
       return Result.fail(migrationResult.getError())
     }
 
@@ -90,15 +79,6 @@ export class TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser implements
       alreadyIdenticalInSecondaryAndPrimary,
     )
     if (integrityCheckResult.isFailed()) {
-      if (newRevisionsInSecondaryCount === 0 && updatedRevisionsInSecondaryCount === 0) {
-        const cleanupResult = await this.deleteRevisionsForUser(userUuid, this.secondRevisionsRepository)
-        if (cleanupResult.isFailed()) {
-          this.logger.error(
-            `[${dto.userUuid}] Failed to clean up secondary database revisions: ${cleanupResult.getError()}`,
-          )
-        }
-      }
-
       return Result.fail(integrityCheckResult.getError())
     }
 
@@ -189,6 +169,8 @@ export class TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser implements
     revisionRepository: RevisionRepositoryInterface,
   ): Promise<Result<void>> {
     try {
+      this.logger.info(`[${userUuid.value}] Deleting all revisions from primary database`)
+
       await revisionRepository.removeByUserUuid(userUuid)
 
       return Result.ok()

+ 2 - 19
packages/syncing-server/src/Domain/UseCase/Transition/TransitionItemsFromPrimaryToSecondaryDatabaseForUser/TransitionItemsFromPrimaryToSecondaryDatabaseForUser.ts

@@ -55,7 +55,6 @@ export class TransitionItemsFromPrimaryToSecondaryDatabaseForUser implements Use
 
       updatedItemsInSecondary = updatedInSecondary
     }
-    const updatedItemsInSecondaryCount = updatedItemsInSecondary.length
 
     const migrationTimeStart = this.timer.getTimestampInMicroseconds()
 
@@ -67,15 +66,6 @@ export class TransitionItemsFromPrimaryToSecondaryDatabaseForUser implements Use
       alreadyIdenticalInSecondaryAndPrimary,
     )
     if (migrationResult.isFailed()) {
-      if (newItemsInSecondaryCount === 0 && updatedItemsInSecondaryCount === 0) {
-        const cleanupResult = await this.deleteItemsForUser(userUuid, this.secondaryItemRepository)
-        if (cleanupResult.isFailed()) {
-          this.logger.error(
-            `[${dto.userUuid}] Failed to clean up secondary database items: ${cleanupResult.getError()}`,
-          )
-        }
-      }
-
       return Result.fail(migrationResult.getError())
     }
 
@@ -88,15 +78,6 @@ export class TransitionItemsFromPrimaryToSecondaryDatabaseForUser implements Use
       alreadyIdenticalInSecondaryAndPrimary,
     )
     if (integrityCheckResult.isFailed()) {
-      if (newItemsInSecondaryCount === 0 && updatedItemsInSecondaryCount === 0) {
-        const cleanupResult = await this.deleteItemsForUser(userUuid, this.secondaryItemRepository)
-        if (cleanupResult.isFailed()) {
-          this.logger.error(
-            `[${dto.userUuid}] Failed to clean up secondary database items: ${cleanupResult.getError()}`,
-          )
-        }
-      }
-
       return Result.fail(integrityCheckResult.getError())
     }
 
@@ -254,6 +235,8 @@ export class TransitionItemsFromPrimaryToSecondaryDatabaseForUser implements Use
 
   private async deleteItemsForUser(userUuid: Uuid, itemRepository: ItemRepositoryInterface): Promise<Result<void>> {
     try {
+      this.logger.info(`[${userUuid.value}] Cleaning up primary database items`)
+
       await itemRepository.deleteByUserUuid(userUuid.value)
 
       return Result.ok()