Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-3772

Proxy update endpoint returns 409 Conflict

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • SaaS
    • System
    • None
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • 3scale 2019-10-14

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            eguzki Eguzki Astiz Lezaun
            Eguzki Astiz Lezaun Eguzki Astiz Lezaun
            Guilherme Cassolato Guilherme Cassolato
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: