Skip to content

Commit b6e7709

Browse files
authored
fix: ignore results that have no activity data (CM-1112) (#4033)
Signed-off-by: Uroš Marolt <uros@marolt.me>
1 parent e3ed966 commit b6e7709

1 file changed

Lines changed: 19 additions & 6 deletions

File tree

services/apps/data_sink_worker/src/service/activity.service.ts

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -271,11 +271,8 @@ export default class ActivityService extends LoggerBase {
271271
// propagates out of prepareMemberData and crashes the entire batch, marking all other
272272
// results in the batch with the same error even though they are valid.
273273
if (!activity) {
274-
this.log.error({ platform }, 'Activity data is missing.')
275-
results.set(resultId, {
276-
success: false,
277-
err: new UnrepeatableError('Activity data is missing.'),
278-
})
274+
this.log.warn({ platform }, 'Activity data is missing, skipping and marking as processed.')
275+
results.set(resultId, { success: true })
279276
continue
280277
}
281278

@@ -435,7 +432,23 @@ export default class ActivityService extends LoggerBase {
435432
): Promise<Map<string, IProcessActivityResult>> {
436433
const resultMap = new Map<string, IProcessActivityResult>()
437434

438-
let relevantPayloads = payloads
435+
let relevantPayloads: IActivityProcessData[] = []
436+
for (const payload of payloads) {
437+
if (!payload.activity) {
438+
this.log.warn(
439+
{
440+
resultId: payload.resultId,
441+
integrationId: payload.integrationId,
442+
segmentId: payload.segmentId,
443+
platform: payload.platform,
444+
},
445+
'Activity data is missing, skipping and marking as processed.',
446+
)
447+
resultMap.set(payload.resultId, { success: true })
448+
continue
449+
}
450+
relevantPayloads.push(payload)
451+
}
439452
this.log.trace(`[ACTIVITY] Processing ${relevantPayloads.length} activities!`)
440453

441454
const prepareMemberResults = this.prepareMemberData(relevantPayloads)

0 commit comments

Comments
 (0)