You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org

Incidents/20180111-LegacyEncoding/minutes

From Wikitech-static
< Incidents‎ | 20180111-LegacyEncoding
Revision as of 17:46, 8 April 2022 by imported>Krinkle (Krinkle moved page Incident documentation/20180111-LegacyEncoding/minutes to Incidents/20180111-LegacyEncoding/minutes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Post Mortem Meeting for train blocker - 20180111-LegacyEncoding

Date: February 16, 2018

Attendees: Mukunda, Greg, JR, Daniel, Zeljko, Victoria, Subbu

For reference:

Incident Report-https://wikitech.wikimedia.org/wiki/Incident_documentation/20180111-LegacyEncoding

Topics:

Brief Summary of Problem(s)

Changes to the revision class in which rolled out as part of 1.31.0-wmf.16 caused a serious issue on wikis with legacy encoding. The problem was caught on group1 so the problem was effectively was limited to Swedish Wiktionary.

Each revision has a flag indicating if it's using legacy encoding

How problem(s) was/were discovered

Editors on sv.wiktionary.org reported that all non-ascii characters were managed on edit <https://phabricator.wikimedia.org/T184749>

How problem(s) were introduced:

Refactoring of the revision class missed an edge case.

Learnings:

Unit tests and documentation are almost universally a good thing.

The tests themselves would not have uncovered this without a configuration change in the environment.

Ideally application would not touch global variables.

Currently you need to manually change configurations in-between test runs, due to the large number of combinations, it becomes difficult to cover.

In order to help address testing a large number of combinations, you could use https://en.wikipedia.org/wiki/All-pairs_testing

Last defense successfully caught issue, first three layers didn't

Unit test should not depend on local config. General comment is that our test should be better defined/scoped (unti test vs system test, etc...)

Parsing team's visual diff (maybe should call it pixel diffs now since visual diff is taken by VE team for a feature) testing

Action Items:

JR: find out if this an existing task/plan to get rid of globals.(task T189059)

Create test that tests non-ascii content.

Zeljko: run browser tests for core against beta.(task T185011)

JR: Follow up with Cindy about large scale refactoring plans currently being laid out.(task T189062)