Skip to content

Resolve "Service ping integration - All schema objects"

What does this MR do and why?

Currently, we are collecting index schema inconsistencies. In this merge request, we are enabling the collection of index, trigger, table, and foreign_key schema inconsistencies.

Example of what we collect:

{ inconsistency_type: 'wrong_indexes', 'index_issue_stage_events_project_duration', object_type: 'index' },
{ inconsistency_type: 'missing_triggers', object_name: 'trigger_023e82d8e257', object_type: 'trigger' },
{ inconsistency_type: 'extra_table_columns', object_name: 'verification_codes', object_type: 'table' },
{ inconsistency_type: 'different_definition_foreign_keys', object_name: 'fk_0250c0ad51', object_type: 'foreign_key' }

This information will help us to identify major schema inconsistencies problems in self-host customers; with this information, we can release migrations that will fix the database schema of our customers. Schema inconsistencies can impact self-host upgrades.

We also define the maximum number of inconsistencies collected per machine (150).

Note: We only collect database schema information. We don't collect any customer data.

In a follow-up, we will turn off the index schema inconsistencies metric.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #414311 (closed)

Edited by Diogo Frazão

Merge request reports