View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0025450 | Return of Reckoning | General | public | 2026-05-14 18:28 | 2026-05-17 10:06 |
| Reporter | Wholdar | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | new | Resolution | open | ||
| Summary | 0025450: GraphQL API kill/scenario feeds stale after 2026-05-14 patch/restart | ||||
| Description | After the patch/restart this morning ("Up since: 2026-05-14 06:22:51"), the public GraphQL API appears to serve no new kills or completed scenarios. Checked at: 2026-05-14 18:23 UTC Endpoint: https://production-api.waremu.com/graphql The API responds with HTTP 200, but newest records are still from before/around the restart window. Observed: - Newest kill returned is 2026-05-14T05:53:48Z. - Newest scenario returned ended 2026-05-14T05:15:27Z. - Filtering for records after 2026-05-14T06:22:51Z returns no kills and no scenarios. Expected: Kills and completed scenarios after the patch/restart should be present. | ||||
| Steps To Reproduce | Run this GraphQL request: curl -sS -X POST https://production-api.waremu.com/graphql \ -H 'content-type: application/json' \ -H 'cache-control: no-cache' \ --data-raw '{"query":"query ApiFreshness { latestKills: kills(first: 3, includeAssists: false) { nodes { id time scenario { id name } position { zone { id name } } } } killsAfterRestart: kills(first: 3, where: { time: { gte: \"2026-05-14T06:22:51Z\" } }, includeAssists: false) { nodes { id time } } latestScenarios: scenarios(first: 3) { edges { node { id startTime endTime scenario { id name } tier queueType } } } scenariosAfterRestart: scenarios(first: 3, where: { endTime: { gte: \"2026-05-14T06:22:51Z\" } }) { totalCount edges { node { id endTime scenario { id name } } } } }"}' | ||||
| Additional Information | Actual output from the API: { "data": { "latestKills": { "nodes": [ { "id": "64975800", "time": "2026-05-14T05:53:48.673271Z", "scenario": null, "position": { "zone": { "id": "102", "name": "High Pass" } } }, { "id": "64975799", "time": "2026-05-14T05:53:36.942404Z", "scenario": null, "position": { "zone": { "id": "102", "name": "High Pass" } } }, { "id": "64975798", "time": "2026-05-14T05:53:24.716955Z", "scenario": null, "position": { "zone": { "id": "102", "name": "High Pass" } } } ] }, "killsAfterRestart": { "nodes": [] }, "latestScenarios": { "edges": [ { "node": { "id": "da55da80-a350-4cbd-b7db-145781b76c55", "startTime": "2026-05-14T05:03:38.88645Z", "endTime": "2026-05-14T05:15:27.681468Z", "scenario": { "id": "2109", "name": "Reikland Hills" }, "tier": 3, "queueType": 0 } }, { "node": { "id": "dfa1ccbb-b9b2-462c-be52-c09468016e49", "startTime": "2026-05-14T03:02:04.239928Z", "endTime": "2026-05-14T03:12:02.995434Z", "scenario": { "id": "2206", "name": "Blood of the Black Cairn" }, "tier": 3, "queueType": 0 } }, { "node": { "id": "7ccd8330-93c6-4635-9b75-2708edf6cb1d", "startTime": "2026-05-14T02:36:41.612797Z", "endTime": "2026-05-14T02:46:15.573771Z", "scenario": { "id": "2109", "name": "Reikland Hills" }, "tier": 1, "queueType": 0 } } ] }, "scenariosAfterRestart": { "totalCount": 0, "edges": [] } } } | ||||
| Tags | No tags attached. | ||||
|
Scenarios and Lost Vale data look like they are working again now. The remaining issue I can still reproduce is with the public GraphQL `kills` connection. Checked at: 2026-05-17 09:50 UTC Endpoint: https://production-api.waremu.com/graphql Current observed behavior: - `scenarios` and Lost Vale are not the stale-feed issue anymore. - `kills(first: ...)` still returns old kill rows from 2026-05-15 instead of current 2026-05-17 rows. - Filtering `kills` for rows on/after 2026-05-16 returns an empty list. - Some valid `kills` pagination/filter queries also hit backend MySQL errors. I saw "The Command Timeout expired before the operation completed." Earlier in the same check, `kills(last: 5)` returned "Packet received out-of-order. Expected 1; got 2." Reproduction 1 - latest kills are stale curl -sS --get \ --data-urlencode 'query=query ($first: Int) { kills(first: $first, includeAssists: false) { nodes { id time position { zone { id name } } scenario { id name } } } }' \ --data-urlencode 'variables={"first":3}' \ https://production-api.waremu.com/graphql Observed output excerpt: { "data": { "kills": { "nodes": [ { "id": "65009644", "time": "2026-05-15T00:43:49.8554Z", "position": { "zone": { "id": "236", "name": "Lost Temple of Isha" } }, "scenario": { "id": "2203", "name": "Lost Temple of Isha" } } ] } } } Reproduction 2 - fresh kill window is empty curl -sS --get \ --data-urlencode 'query=query ($first: Int, $where: KillFilterInput) { kills(first: $first, where: $where, includeAssists: false) { nodes { id time } } }' \ --data-urlencode 'variables={"first":1,"where":{"time":{"gte":"2026-05-16T00:00:00Z"}}}' \ https://production-api.waremu.com/graphql Observed output: { "data": { "kills": { "nodes": [] } } } Reproduction 3 - valid kills pagination can throw backend errors curl -sS --get \ --data-urlencode 'query=query ($last: Int) { kills(last: $last, includeAssists: false) { nodes { id time } } }' \ --data-urlencode 'variables={"last":1}' \ https://production-api.waremu.com/graphql Observed output excerpt: { "errors": [ { "message": "Unexpected Execution Error", "path": [ "kills" ], "extensions": { "exception": { "message": "The Command Timeout expired before the operation completed." } } } ], "data": { "kills": null } } Expected behavior: `kills(first: ...)` or a time-filtered `kills(where: { time: { gte: ... } })` should return recent kill rows when there has been live kill activity. Valid kill pagination should also not fail with MySQL connector / command timeout errors. |
|