-
Bug
-
Resolution: Done
-
Major
-
None
-
SaaS
-
None
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
3scale 2019-10-14
The issue happens on SaaS infrastructure. Intermittently, but frequently and easily reproducible.
Proxy update 3scale API endpoint returns 409 Conflict
PATCH /admin/api/services/2555417830415/proxy.json
Full request/response debug log
<- "PATCH /admin/api/services/2555417830415/proxy.json HTTP/1.1\r\nAccept: application/json\r\nContent-Type: application/json\r\nAuthorization: Basic ******=\r\nAccept-Encoding: identity\r\nUser-Agent: Ruby\r\nHost: autotest-admin.3scale.net\r\nContent-Length: 58\r\n\r\n" <- "{\"proxy\":{\"error_auth_failed\":\"exampleautherrormessage1\"}}" -> "HTTP/1.1 409 Conflict\r\n" -> "Content-Type: application/json; charset=utf-8\r\n" -> "Date: Mon, 21 Oct 2019 14:24:29 GMT\r\n" -> "Strict-Transport-Security: max-age=15552000\r\n" -> "Vary: Accept-Encoding\r\n" -> "X-Request-Id: e9cd728b-e67c-47f7-b1a4-1fc8d4254f06\r\n" -> "X-Runtime: 0.572937\r\n" -> "X-Served-By: mt08\r\n" -> "Content-Length: 35\r\n" -> "Connection: keep-alive\r\n" -> "\r\n" reading 35 bytes... -> "{\"status\":\"409\",\"error\":\"Conflict\"}" read 35 bytes
3scale Toolbox integration tests are always failing. One example:
https://travis-ci.org/3scale/3scale_toolbox/builds/600651978
Dev Notes
Gui has run into this in a different controller. This is likely to be caused by a race condition on the update of the proxy. Other processes may be changing either the proxy itself, proxy rules, backends or backend usage, and thus causing multiple attempts in parallel to "touch" the proxy, directly or via proxy's affecting_change_history.