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

Reply via email to