From 7fc14e862e2e874d50eec3e46cc47adc809b4352 Mon Sep 17 00:00:00 2001 From: Yeganathan S <63534555+skwowet@users.noreply.github.com> Date: Thu, 13 Nov 2025 16:34:04 +0530 Subject: [PATCH 1/2] fix: handle fkey constraint violations in organization merge with llm --- .../organizationMergeSuggestions.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts b/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts index 4f024b46ca..911634cc83 100644 --- a/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts +++ b/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts @@ -498,10 +498,25 @@ export async function removeOrganizationMergeSuggestions( export async function addOrganizationSuggestionToNoMerge(suggestion: string[]): Promise { if (suggestion.length !== 2) { - svc.log.debug(`Suggestions array must have two ids!`) + svc.log.debug('Suggestions array must have exactly two ids!') return } + const qx = pgpQx(svc.postgres.writer.connection()) - await addOrgNoMerge(qx, suggestion[0], suggestion[1]) + try { + await addOrgNoMerge(qx, suggestion[0], suggestion[1]) + } catch (error: unknown) { + // Handle foreign key constraint violation gracefully + if (error instanceof Error && 'code' in error && error.code === '23503') { + svc.log.info({ suggestion }, 'Organization no longer exists, skipping no merge!') + return + } + + svc.log.error( + { error, suggestion }, + 'Error adding organization suggestion to no merge! Ignoring error...', + ) + throw error + } } From 513ed15c1d2ad9df4b9c004aec1295973f0b784f Mon Sep 17 00:00:00 2001 From: Yeganathan S <63534555+skwowet@users.noreply.github.com> Date: Thu, 13 Nov 2025 16:46:52 +0530 Subject: [PATCH 2/2] fix: update logging for foreign key constraint violations in organization merge suggestions --- .../src/activities/organizationMergeSuggestions.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts b/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts index 911634cc83..d81802837b 100644 --- a/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts +++ b/services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts @@ -509,14 +509,11 @@ export async function addOrganizationSuggestionToNoMerge(suggestion: string[]): } catch (error: unknown) { // Handle foreign key constraint violation gracefully if (error instanceof Error && 'code' in error && error.code === '23503') { - svc.log.info({ suggestion }, 'Organization no longer exists, skipping no merge!') + svc.log.info({ suggestion }, 'Foreign key constraint violation, skipping no merge!') return } - svc.log.error( - { error, suggestion }, - 'Error adding organization suggestion to no merge! Ignoring error...', - ) + svc.log.error({ error, suggestion }, 'Error adding organization suggestion to no merge!') throw error } }