Page MenuHomePhabricator

Wikimedia\Rdbms\DBUnexpectedError when querying revisions from the action API
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
  • 1cfe9173-88dc-42c3-a449-a90016c41c87
  • 6a08c641-d54e-4c92-ad01-7498217f89e3
  • 07200888-7055-41e8-87a2-de462acac224
  • 057a281d-efcb-4062-80dd-115d2bc0020c
  • 55707ef9-f7c0-431b-9448-71a44c9d5260
  • 48ecb96b-4136-4ccc-b652-0b8f10f69025
message
trace
Impact
Notes
Example: cfe9173-88dc-42c3-a449-a90016c41c87
query
{
  "prop": "revisions|info|categoryinfo",
  "action": "query",
  "indexpageids": 1,
  "continue": "",
  "rvslots": "*",
  "titles": "Eichwalde (przystanek kolejowy)|Gare de Saint-Michel-sur-Meurthe|Bacău (stacja kolejowa)|Casetas (stacja kolejowa)|Incoronata (stacja kolejowa)|Gambettola (stacja kolejowa)|Keszthely (stacja kolejowa)|Alfafar-Benetússer|Albinia (stacja kolejowa)|Gare d’Étival-Clairefontaine|Laholm (stacja kolejowa)|Gramatneusiedl (stacja kolejowa)|Gare de Raon-l’Étape|Kamieniec Podolski (stacja kolejowa)|Treforest Estate|Pitești Sud|Kapelle-Biezelinge|Savignano sul Rubicone (przystanek kolejowy)|Sant’Antonino di Saluggia|Galați (stacja kolejowa)|Arnemuiden (stacja kolejowa)|Kropywnycki (stacja kolejowa)|Lalendorf (stacja kolejowa)|Santarcangelo di Romagna (stacja kolejowa)|Botoșani (stacja kolejowa)|Szekszárd (stacja kolejowa)|Gare de Thiaville|Blanca (przystanek kolejowy)|Poggio Imperiale (stacja kolejowa)|Vlissingen Souburg|Gare de Bertrichamps|Zagreb Trnava|Mies (przystanek kolejowy)|Nürnberg-Dutzendteich|Oradea (stacja kolejowa)|Eilendorf (przystanek kolejowy)|Chieuti-Serracapriola|Żółkiew (stacja kolejowa)|Pont-Céard (przystanek kolejowy)|München Flughafen|Carruba (stacja kolejowa)|Băile Herculane (stacja kolejowa)|Keila (stacja kolejowa)|Czerwonogród (stacja kolejowa)|Berlin-Lichterfelde West|RiminiFiera|Albertirsa (stacja kolejowa)|Gare de Baccarat|Urduña (stacja kolejowa)|Liasy (przystanek kolejowy)",
  "rvprop": "comment|contentmodel|flags|ids|parsedcomment|sha1|size|tags|timestamp|user|userid|content|roles",
  "meta": "userinfo",
  "uiprop": "blockinfo|hasmsg",
  "maxlag": "5",
  "format": "json"
}
response
{
  "error": {
    "code": "internal_api_error_DBUnexpectedError",
    "info": "[1cfe9173-88dc-42c3-a449-a90016c41c87] Caught exception of type Wikimedia\\Rdbms\\DBUnexpectedError",
    "errorclass": "Wikimedia\\Rdbms\\DBUnexpectedError",
    "servedby": "mw-api-ext.eqiad.main-64b4bbc948-w4pjl"
  },
  "servedby": "mw-api-ext.eqiad.main-64b4bbc948-w4pjl"
}

Details

Related Changes in Gerrit:

Related Objects

Event Timeline

Ladsgroup claimed this task.
Ladsgroup subscribed.

Hi, This is part of a new defense mechanism we have in place to protect production in case of overload. You can read more about the work in T360930: Section-wide circuit breaking and more about circuit breaking in general in https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern

It basically intentionally kills a subset of requests to make sure all of production stays up. The problem was that its threshold needed tuning and in the past couple of days, it tripped too fast (it correlated with increased load but not enough load to that would have caused issues). I increased the threshold but generally speaking, this might happen from time to time now.

Change #1043156 had a related patch set uploaded (by JJMC89; author: JJMC89):

[pywikibot/core@master] retry internal_api_error_DBUnexpectedError

https://gerrit.wikimedia.org/r/1043156

Change #1043156 merged by jenkins-bot:

[pywikibot/core@master] retry internal_api_error_DBUnexpectedError

https://gerrit.wikimedia.org/r/1043156