We some messages end up in DLQ (articleupdate handler) with a message stopped after 10 redirects, we need to make sure those errors are properly handled or don't end-up in dead letter queue if there's noting we can do about them.
Acceptance criteria
Messages with fail reason stopped after 10 redirects don't end up in DLQ.
To-Do
- increase MAX_FAIL_COUNT for the service for 2 to 10
- add the ability to wait before processing in strucutured-data-articleupdate handler
Out of Scope (other approaches)
- add the ability to poll messages with delay in subscriber package (maybe Fibonacci sequence)
- update error service to have 1s delay between polls
Notes
Here's an example of the message:
{ "name": "ਫਰਮਾ:Infobox_road", "identifier": 41256, "abstract": "", "date_created": null, "date_modified": null, "date_previously_modified": null, "protection": [], "version": { "wikimedia_enterprise.general.schema.Version": { "identifier": 648509, "comment": "Removed redirect to [[ਫਰਮਾ:ਜਾਣਕਾਰੀਡੱਬਾ ਸੜਕ]]", "tags": [], "is_minor_edit": false, "is_flagged_stable": false, "has_tag_needs_citation": false, "scores": null, "editor": { "wikimedia_enterprise.general.schema.Editor": { "identifier": -1, "name": "...", "edit_count": 9879, "groups": [ "autopatrolled", "patroller", "*", "user", "autoconfirmed" ], "is_bot": false, "is_anonymous": false, "is_admin": false, "is_patroller": false, "has_advanced_rights": false, "date_started": { "long": 1496840844000000 } } }, "diff": null, "number_of_characters": 0, "sizes": null, "event": null } }, "previous_version": { "wikimedia_enterprise.general.schema.PreviousVersion": { "identifier": 184570, "number_of_characters": 0 } }, "version_identifier": "", "url": "", "watchers_count": 0, "namespace": { "wikimedia_enterprise.general.schema.Namespace": { "name": "", "alternate_name": "", "identifier": 10, "description": "", "event": null } }, "in_language": { "wikimedia_enterprise.general.schema.Language": { "identifier": "pa", "name": "", "alternate_name": "", "direction": "", "event": null } }, "main_entity": null, "additional_entities": [], "categories": [], "templates": [], "redirects": [], "is_part_of": { "wikimedia_enterprise.general.schema.Project": { "name": "", "identifier": "pawiki", "url": "https://pa.wikipedia.org", "version": "", "date_modified": null, "in_language": null, "namespace": null, "sizes": null, "additional_type": "", "event": null } }, "article_body": null, "license": [], "visibility": null, "event": { "wikimedia_enterprise.general.schema.Event": { "identifier": "6c423294-0aa4-4533-8846-5ff2a353dc1e", "type": "create", "date_created": { "long": 1678292745954939 }, "fail_count": 2, "fail_reason": "Get \"%E0%A8%AB%E0%A8%B0%E0%A8%AE%E0%A8%BE%3AInfobox_road\": stopped after 10 redirects" } } }
One more example:
{ "name": "वर्ग:इ.स._२०००_मधील_इंग्लिश_चित्रपट", "identifier": 215217, "abstract": "", "date_created": null, "date_modified": null, "date_previously_modified": null, "protection": [], "version": { "wikimedia_enterprise.general.schema.Version": { "identifier": 2256143, "comment": "[[वर्ग:इ.स. २००० मधील इंग्लिश भाषेमधील चित्रपट]] ला असणारे पुनर्निर्देशन हटविले", "tags": [], "is_minor_edit": false, "is_flagged_stable": false, "has_tag_needs_citation": false, "scores": null, "editor": { "wikimedia_enterprise.general.schema.Editor": { "identifier": 138639, "name": "Khirid Harshad", "edit_count": 31289, "groups": [ "rollbacker", "*", "user", "autoconfirmed" ], "is_bot": false, "is_anonymous": false, "is_admin": false, "is_patroller": false, "has_advanced_rights": false, "date_started": { "long": 1634447399000000 } } }, "diff": null, "number_of_characters": 0, "sizes": null, "event": null } }, "previous_version": { "wikimedia_enterprise.general.schema.PreviousVersion": { "identifier": 1503960, "number_of_characters": 0 } }, "version_identifier": "", "url": "", "watchers_count": 0, "namespace": { "wikimedia_enterprise.general.schema.Namespace": { "name": "", "alternate_name": "", "identifier": 14, "description": "", "event": null } }, "in_language": { "wikimedia_enterprise.general.schema.Language": { "identifier": "mr", "name": "", "alternate_name": "", "direction": "", "event": null } }, "main_entity": null, "additional_entities": [], "categories": [], "templates": [], "redirects": [], "is_part_of": { "wikimedia_enterprise.general.schema.Project": { "name": "", "identifier": "mrwiki", "url": "https://mr.wikipedia.org", "version": "", "date_modified": null, "in_language": null, "namespace": null, "sizes": null, "additional_type": "", "event": null } }, "article_body": null, "license": [], "visibility": null, "event": { "wikimedia_enterprise.general.schema.Event": { "identifier": "5281604a-d17e-43d8-8924-970e41970e4a", "type": "update", "date_created": { "long": 1679932803606886 }, "fail_count": 2, "fail_reason": "Get \"%E0%A4%B5%E0%A4%B0%E0%A5%8D%E0%A4%97%3A%E0%A4%87.%E0%A4%B8._%E0%A5%A8%E0%A5%A6%E0%A5%A6%E0%A5%A6_%E0%A4%AE%E0%A4%A7%E0%A5%80%E0%A4%B2_%E0%A4%87%E0%A4%82%E0%A4%97%E0%A5%8D%E0%A4%B2%E0%A4%BF%E0%A4%B6_%E0%A4%9A%E0%A4%BF%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%AA%E0%A4%9F\": stopped after 10 redirects" } } }