Page MenuHomePhabricator

Deploy ReadingLists schema change for unique list names
Closed, DeclinedPublic

Description

T184680: Update duplicate handling in reading lists API requires an index change to to wikishared.reading_list on x1. It is a single shared table used by all wikis, the code handling it is not exposed to traffic yet but will start getting beta tester traffic next week.

The required change is

ALTER IGNORE TABLE reading_list
    MODIFY rl_name VARCHAR(255) BINARY,
    DROP INDEX rl_user_deleted_name_id,
    ADD UNIQUE INDEX rl_user_deleted_name (rl_user_id, rl_deleted, rl_name),
    DROP INDEX rl_user_name_id,
    ADD UNIQUE INDEX rl_user_name (rl_user_id, rl_name);

(patchfile)

This change will break existing code very slightly: attempts to create multiple lists with the same name will result in a duplicate key DB error; the corresponding patch will change that to a soft error. Also, creation of a new list with the same name as the deleted list will result in a duplicate key error; the patch will handle that situation correctly. ReadingLists is not-even-beta and not exposed to any real users so that's not considered a problem. Can probably be improved though.

Event Timeline

Tgr renamed this task from Deploy ReadingLists schema change unique list names to Deploy ReadingLists schema change for unique list names.Feb 26 2018, 10:19 AM
Tgr moved this task from To Do to Doing on the Product-Infrastructure-Team-Backlog (Kanban) board.

Hi @Tgr - Is this blocked or just waiting for you to get to it? Thanks!

This would have to be done by ops (at the time they had fires to put out so it was pushed back). Not sure if it is worth the effort doing, though.

Let's just go with no, we can reopen later if needed.