Page MenuHomePhabricator

CX events EventGate validation errors: translation_source_title should be string
Closed, ResolvedPublic4 Estimated Story PointsBUG REPORT

Description

Issue (include links if applicable):

Logstash dashboard shows a high amount of EventGate validation errors for CX events: https://logstash.wikimedia.org/goto/2234659c7b149ebfc3c1d4695568e602

The error is '.translation_source_title' should be string

~3.5K events were affected by this error during the past 90 days.

What should have happened instead?:

There can be two scenarios why this might be happening (both should be checked for)

  • Events for which these events are not relevant, for example, tab selection, and explicitly being set to null. For events which fields which are not relevant, they should not be set to null. Missing fields will be set to null during ingestion. Please see: Event_Platform/Schemas/Guidelines#Optional_/_Missing_fields
  • Events for which these fields are applicable, but are null for some reason. For example, there are several editor_open events which have this errors as well. At the time of editor being opened, user would have already selected the source, so I'd expect a value for these events.

Also note: the spike errors seems to have started during mid March, coinciding with the unified CX dashboard release to desktop.


Test Case 1: Verify events with null or empty .translation_source_title

  1. Trigger a CX event for which .translation_source_title is not relevant or is null (e.g., tab selection).
  2. Capture the event payload sent to EventGate.
  3. ✅❌❓⬜ AC1: Confirm that .translation_source_title is removed entirely from the payload.

QA Results - Logstash

ACStatusDetails
1T395417#11372839

Event Timeline

Change #1170402 had a related patch set uploaded (by Sbisson; author: Sbisson):

[mediawiki/extensions/ContentTranslation@master] Assert translation_source_title

https://gerrit.wikimedia.org/r/1170402

Change #1170402 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] Assert translation_source_title

https://gerrit.wikimedia.org/r/1170402

Change #1170411 had a related patch set uploaded (by Sbisson; author: Sbisson):

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20250717

https://gerrit.wikimedia.org/r/1170411

Change #1170412 had a related patch set uploaded (by Sbisson; author: Sbisson):

[mediawiki/extensions/ContentTranslation@wmf/1.45.0-wmf.10] CX3 Build 1.0.0+20250717

https://gerrit.wikimedia.org/r/1170412

Change #1170411 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20250717

https://gerrit.wikimedia.org/r/1170411

Change #1170412 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@wmf/1.45.0-wmf.10] CX3 Build 1.0.0+20250717

https://gerrit.wikimedia.org/r/1170412

Mentioned in SAL (#wikimedia-operations) [2025-07-17T20:11:08Z] <sbisson@deploy1003> sbisson: Backport for [[gerrit:1170412|CX3 Build 1.0.0+20250717 (T388503 T395417 T395418)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-07-17T20:20:18Z] <sbisson@deploy1003> Finished scap sync-world: Backport for [[gerrit:1170412|CX3 Build 1.0.0+20250717 (T388503 T395417 T395418)]] (duration: 11m 10s)

Change #1172590 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] SXSentenceSelector: Add guard to reject navigation if URL params missing

https://gerrit.wikimedia.org/r/1172590

Change #1172592 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] Confirmation step: Add guard to reject navigation if URL params missing

https://gerrit.wikimedia.org/r/1172592

Change #1172590 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] SXSentenceSelector: Add guard to reject navigation if URL params missing

https://gerrit.wikimedia.org/r/1172590

Change #1172592 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] Confirmation step: Add guard to reject navigation if URL params missing

https://gerrit.wikimedia.org/r/1172592

Change #1173366 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] CX instrumentation: Assert non-null fields

https://gerrit.wikimedia.org/r/1173366

ngkountas set the point value for this task to 4.Jul 30 2025, 1:14 PM

Change #1173366 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX instrumentation: Assert non-null fields

https://gerrit.wikimedia.org/r/1173366

Change #1175492 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20250804

https://gerrit.wikimedia.org/r/1175492

Change #1175492 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20250804

https://gerrit.wikimedia.org/r/1175492

Change #1179650 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] CX useEventLogging: Fix "assertNonNullFields"

https://gerrit.wikimedia.org/r/1179650

Change #1179651 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20250818

https://gerrit.wikimedia.org/r/1179651

Change #1179650 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX useEventLogging: Fix "assertNonNullFields"

https://gerrit.wikimedia.org/r/1179650

Change #1179651 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20250818

https://gerrit.wikimedia.org/r/1179651

SBisson renamed this task from CX events EventGate validation errors: translation_source_title should be string to CX events EventGate validation errors: translation_source_title should be string.Oct 29 2025, 6:24 PM
SBisson changed the task status from Open to In Progress.
SBisson claimed this task.
SBisson moved this task from Prioritized to In-progress on the LPL Hypothesis board.

Change #1199839 had a related patch set uploaded (by Sbisson; author: Sbisson):

[mediawiki/extensions/ContentTranslation@master] Remove translation_source_title if empty

https://gerrit.wikimedia.org/r/1199839

Change #1199839 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] Remove translation_source_title if empty

https://gerrit.wikimedia.org/r/1199839

Change #1201184 had a related patch set uploaded (by Sbisson; author: Sbisson):

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20251103

https://gerrit.wikimedia.org/r/1201184

Change #1201184 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX3 Build 1.0.0+20251103

https://gerrit.wikimedia.org/r/1201184

@SBisson: The event source string no longer appears, as seen in Logstash. I will move this to Sign-off. Thanks for all your work!

Test Result - Logstash

Status: ✅ PASS
Environment: Logstash
OS: macOS Tahoe 26.1
Browser: Chrome 142
Device: MBA
Emulated Device: N/A

Test Artifact(s):

Test Case 1: Verify events with null or empty .translation_source_title

  1. Trigger a CX event for which .translation_source_title is not relevant or is null (e.g., tab selection).
  2. Capture the event payload sent to EventGate.
  3. AC1: Confirm that .translation_source_title is removed entirely from the payload.

2025-11-12_11-20-31.png (960×1 px, 1018 KB)

GMikesell-WMF updated Other Assignee, removed: GMikesell-WMF.
GMikesell-WMF moved this task from Needs QA to Design Signoff on the LPL Hypothesis board.

no design review needed for this task so moving it to product signoff.