Giuseppe Lavagetto has submitted this change and it was merged. Change subject: Change-Prop: Updates to error handling ......................................................................
Change-Prop: Updates to error handling Obvious: we need to ignore '403' on revision_visibility_set event. Less obvious: we need to retry '404' response from revision_create event. We have quite a few 404 errors in the error topic and I couldn't find any explanation for them except that it's happening due to replication lag in mysql, so let's try to retry these and see what's happening. When a page is moved, the user is able not to create a redirect page. In that case the request to update the older page title results in a 404. However, we don't catch that 404 so the P.each chain is broken and the new page title is never updated. So, invert the order of the updates would fix this problem. Change-Id: Ib6358a08cc0777eea40040b22d3d4880ac04edfa --- M modules/changeprop/templates/config.yaml.erb 1 file changed, 14 insertions(+), 6 deletions(-) Approvals: Giuseppe Lavagetto: Looks good to me, approved jenkins-bot: Verified diff --git a/modules/changeprop/templates/config.yaml.erb b/modules/changeprop/templates/config.yaml.erb index 6faa117..de19083 100644 --- a/modules/changeprop/templates/config.yaml.erb +++ b/modules/changeprop/templates/config.yaml.erb @@ -142,6 +142,10 @@ page_edit: topic: mediawiki.revision_create + retry_on: + status: + - '5xx' + - 404 # Sometimes occasional 404s happen because of the mysql replication lag, so retry exec: method: get uri: '<%= @restbase_uri %>/{{message.meta.domain}}/v1/page/html/{message.page_title}/{{message.rev_id}}' @@ -154,6 +158,10 @@ revision_visibility_change: topic: mediawiki.revision_visibility_set + ignore: + status: + - 403 # When the revision is hidden 403 will be returned by RESTBase, it's a valid situation + - 412 exec: method: get uri: '<%= @restbase_uri %>/{{message.meta.domain}}/v1/page/revision/{{message.revision_id}}' @@ -190,18 +198,18 @@ topic: mediawiki.page_move exec: - method: get - uri: '<%= @restbase_uri %>/{{message.meta.domain}}/v1/page/title/{message.old_title}' - headers: - cache-control: no-cache - query: - redirect: false - - method: get uri: '<%= @restbase_uri %>/{{message.meta.domain}}/v1/page/html/{message.new_title}/{{message.new_revision_id}}' headers: cache-control: no-cache if-unmodified-since: '{{date(message.meta.dt)}}' query: redirect: false + - method: get + uri: '<%= @restbase_uri %>/{{message.meta.domain}}/v1/page/title/{message.old_title}' + headers: + cache-control: no-cache + query: + redirect: false # # transclusion_update: # topic: mediawiki.revision_create -- To view, visit https://gerrit.wikimedia.org/r/300681 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib6358a08cc0777eea40040b22d3d4880ac04edfa Gerrit-PatchSet: 5 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Ppchelko <ppche...@wikimedia.org> Gerrit-Reviewer: GWicke <gwi...@wikimedia.org> Gerrit-Reviewer: Giuseppe Lavagetto <glavage...@wikimedia.org> Gerrit-Reviewer: Mobrovac <mobro...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits