Page MenuHomePhabricator

Remove deprecated parameters from ServerSideAccountCreation
Open, Needs TriagePublic

Description

CampaignsSecondaryAuthenticationProvider.php has these still:

			// @todo: Remove these unused fields when they're no longer required by the schema.
			'token' => '',
			'userBuckets' => '',

They were deprecated in rECAMf5bdc9e4df8f: Update extension for AuthManager since May 2016.

https://gitlab.wikimedia.org/repos/data-engineering/schemas-event-secondary/-/blob/master/jsonschema/analytics/legacy/serversideaccountcreation/1.3.0.yaml

Why are they still marked under required?

Can we remove them from required as a step before bumping the schema? Or does default handling not happen?

Do we need to bump the major version (2.x)? Or can I do it as part of T379179: Send hCaptcha API response data to event platform and mark it as 1.4.0 too?

Event Timeline

Change #1130640 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Campaigns@master] CampaignsSecondaryAuthenticationProvider: Remove unused event parameters

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

https://wikitech.wikimedia.org/wiki/Event_Platform/Schemas/Guidelines#Backwards_compatible_modifications_only

https://wikitech.wikimedia.org/wiki/Event_Platform/Schemas/Guidelines#Major_schema_version_upgrades

It is technically allowed to make backwards incompatible schema changes between major version changes. However, the tooling does not support it. Doing so will require manual migrations for any producers and consumers (including downstream Hive tables) of streams that use the schema.

So yeah, it'd need to be version 2.0.0... Which is fine.

This does seem worth doing

Just wondering what is the process for us to do this removal of the deprecated parameters.

They've been unused for ~9 years..

Is anything needed server side to help "deploy" it etc?

Or, as the answer was in T389822: ServerSideAccountCreation violates Identifier Naming Rules? from yourself...

Or... you could make a brand new Metrics Platform based instrumentation and decom the ServerSideAccountCreation one ;)

And just do a clean break.

Or... you could make a brand new Metrics Platform based instrumentation

oh yes, that would be best!

Just wondering what is the process for us to do this removal of the deprecated parameters.

The easiest thing to do would be to update the documentation for these fields and note them as deprecated.

and/or, I believe you could make a new major version, and remove them from the list of required fields.
Removing the actual field properties may break things, but removing them from the list of required fields will not break Hive, and I'd assume that Hive is the only downstream consumer of this stream.

If they are not required by the event schema, then you can stop setting them in CampaignsSecondaryAuthenticationProvider.php.