Page MenuHomePhabricator

Prepare and check storage layer for hywwiki
Closed, ResolvedPublic

Description

  • Project: Wikipedia.
  • Wiki type: public.

Thank you.

Event Timeline

Marostegui edited projects, added Data-Services; removed Cloud-Services.
Marostegui subscribed.

Let us know when this is created so we can sanitize it and give the green light to Cloud Team!
Thanks

@Marostegui Although the wiki config had to be reverted the addWiki script was run so I guess the tables are now in place?

So those tables will not be dropped + created again as part of any other process and will remain there until the wiki config is in place?

Mentioned in SAL (#wikimedia-operations) [2019-03-27T14:12:01Z] <marostegui> Sanitize hywwiki on db1124:3313 T212625

So those tables will not be dropped + created again as part of any other process and will remain there until the wiki config is in place?

The tables are created already and it's very very likely that they won't dropped unless the reason for the issue that prevented us from serving traffic was some sort of data corruption which is pretty unlikely. I will keep you posted.

I have sanitized hywwiki on db1124:3313 and triggers are now in place and filtered tables deleted.

mysql.py -h db1124:3313 hywwiki -e "show triggers\G"
*************************** 1. row ***************************
             Trigger: abuse_filter_log_insert
               Event: INSERT
               Table: abuse_filter_log
           Statement: SET NEW.afl_ip = ''
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 2. row ***************************
             Trigger: abuse_filter_log_update
               Event: UPDATE
               Table: abuse_filter_log
           Statement: SET NEW.afl_ip = ''
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 3. row ***************************
             Trigger: archive_insert
               Event: INSERT
               Table: archive
           Statement: SET NEW.ar_comment_id = 0
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 4. row ***************************
             Trigger: archive_update
               Event: UPDATE
               Table: archive
           Statement: SET NEW.ar_comment_id = 0
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 5. row ***************************
             Trigger: recentchanges_insert
               Event: INSERT
               Table: recentchanges
           Statement: SET NEW.rc_ip = ''
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 6. row ***************************
             Trigger: recentchanges_update
               Event: UPDATE
               Table: recentchanges
           Statement: SET NEW.rc_ip = ''
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 7. row ***************************
             Trigger: revision_insert
               Event: INSERT
               Table: revision
           Statement: SET NEW.rev_text_id = 0
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 8. row ***************************
             Trigger: revision_update
               Event: UPDATE
               Table: revision
           Statement: SET NEW.rev_text_id = 0
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 9. row ***************************
             Trigger: user_insert
               Event: INSERT
               Table: user
           Statement: SET NEW.user_password = '', NEW.user_newpassword = '', NEW.user_email = '', NEW.user_token = '', NEW.user_email_authenticated = '', NEW.user_email_token = '', NEW.user_email_token_expires = '', NEW.user_newpass_time = ''
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary
*************************** 10. row ***************************
             Trigger: user_update
               Event: UPDATE
               Table: user
           Statement: SET NEW.user_password = '', NEW.user_newpassword = '', NEW.user_email = '', NEW.user_token = '', NEW.user_email_authenticated = '', NEW.user_email_token = '', NEW.user_email_token_expires = '', NEW.user_newpass_time = ''
              Timing: BEFORE
             Created: NULL
            sql_mode: IGNORE_BAD_TABLE_OPTIONS
             Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: binary

@Ladsgroup please ping me once the config is live, so I can actually test and check that the private data is being filtered before handling this for the views creation.

https://hyw.wikipedia.org is now up. However there's on https://hyw.wikipedia.org/wiki/%D4%B3%D5%AC%D5%AD%D5%A1%D6%82%D5%B8%D6%80_%D5%A7%D5%BB (only page affected so far - it's the Main Page)

[XJyyFQpAAD0AAEF-ZM8AAAAD] 2019-03-28 11:37:57: Fatal exception of type "MediaWiki\Revision\RevisionAccessException"

I guess this will get fixed once everything is finished? Someone can look it up for the trace in logstash to know what's missing :)

This is no longer throwing errors from what I can see.
@Ladsgroup you fixed it in the end?

I can also see 3 users there already created and well filtered on labs.

No it got reverted. It was sending fatal errors.

Ok - let me know when it is attempted again. Thank you!

This wiki is triggering some false positives on our labs private data checking methods, even if it is correctly sanitized (T212625#5062038) it is still not appearing on s3.dblist etc...can we either fully finish this process or revert it (as in, dropping the database until we are ready for this to be done)?

This wiki is triggering some false positives on our labs private data checking methods, even if it is correctly sanitized (T212625#5062038) it is still not appearing on s3.dblist etc...can we either fully finish this process or revert it (as in, dropping the database until we are ready for this to be done)?

This is now fixed after the wiki has been correctly created.
I have re-run the check_private_data script on sanitarium and it looks clean. I have also created a user on the wiki and it has arrived correctly filtered to labs hosts.

cloud-services-team this is ready for the views creation.
I have added the usual GRANT so the views can be created for this wiki:

Please remember that labsdb1012 is the new host and also needs the views.

All set from WMCS end. Confirmed I can run queries from Toolforge.