Page MenuHomePhabricator

Remove unused SerializedValueContainer "unified" feature
Closed, ResolvedPublic

Description

Introduced in I0667a026 (in 2019) and used for consistency by default in BagOStuff::set(), even for the 99% of values that don't need segmentation.

The method was removed from use in I830c78a50 due to the overhead of SerializedValueContainer being undesirable, so there is no longer a use case for it. If a value doesn't need segmentation, it shouldn't be wrapped in SerializedValueContainer.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change 949110 had a related patch set uploaded (by Krinkle; author: Derick Alangi):

[mediawiki/core@master] objectcache: Hard deprecate SerializedValueContainer::newUnified()

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

Change 949110 merged by jenkins-bot:

[mediawiki/core@master] objectcache: Hard deprecate SerializedValueContainer::newUnified()

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

larissagaulia updated Other Assignee, added: ArielGlenn.
larissagaulia subscribed.

@DAlangi_WMF Will add a couple of steps to describe what needs to be done to close this task.

DAlangi_WMF changed the task status from Open to In Progress.Mar 18 2024, 9:46 AM
DAlangi_WMF raised the priority of this task from Low to Medium.
DAlangi_WMF moved this task from Soon to Current Sprint on the MediaWiki-Platform-Team board.

Change 1012348 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/core@master] objectcache: Drop `SerializedValueContainer::newUnified()`

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

Change 1012348 merged by jenkins-bot:

[mediawiki/core@master] objectcache: Drop `SerializedValueContainer::newUnified()`

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

@DAlangi_WMF With the unified container, and the way to create a unified container, gone. Can we remove the isUnified() callers, function, and SCHEMA_UNIFIED constant as well? Those callers should be impossible now.

@DAlangi_WMF With the unified container, and the way to create a unified container, gone. Can we remove the isUnified() callers, function, and SCHEMA_UNIFIED constant as well? Those callers should be impossible now.

Yes we can remove it but since it's a public method, this would need to go through the deprecation process right? I can remove callers, and just hard deprecate this immediately, not sure about complete removal though.

1 usage in MediumSpecificBagOStuff: https://codesearch.wmcloud.org/search/?q=%3A%3AisUnified%5C%28&files=&excludeFiles=&repos=

Change 1012619 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/core@master] objectcache: Deprecate `SerializedValueContainer::isUnified()`

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

Change 1012619 merged by jenkins-bot:

[mediawiki/core@master] objectcache: Deprecate `SerializedValueContainer::isUnified()`

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

This will wait again till 1.43 before we remove the method and close this task.

DAlangi_WMF lowered the priority of this task from Medium to Low.Mar 19 2024, 6:49 PM

Moving to "Soon", given that MW 1.43 development has begun.

Change #1023446 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/core@master] objectcache: Drop SerializedValueContainer::isUnified

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

Change #1023446 merged by jenkins-bot:

[mediawiki/core@master] objectcache: Drop SerializedValueContainer::isUnified

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