Skip to content

Misleading 404 response when updating map entries using the ID. #399

@jmdelafe

Description

@jmdelafe

Data Plane API supports updating a map entry using the ID but it returns a misleading 404 when doing it.

  1. Before
$ echo "show map maps/paths.map" | socat stdio /tmp/admin.sock
0x103ea97b0 api apiservers
0x103ea9810 cart cartservers
  1. Running the update for entry 0x103ea97b0. Notice the 404 Not Found.
$ curl -v --request PUT \
  --url 'http://127.0.0.1:5555/v3/services/haproxy/runtime/maps/paths.map/entries/%230x103ea97b0' \
  --header 'authorization: Basic YWRtaW46YWRtaW4=' \
  --header 'content-type: application/json' \
  --data '{
  "value": "newapiservers"
}'
*   Trying 127.0.0.1:5555...
* Connected to 127.0.0.1 (127.0.0.1) port 5555
> PUT /v3/services/haproxy/runtime/maps/paths.map/entries/%230x103ea97b0 HTTP/1.1
> Host: 127.0.0.1:5555
> User-Agent: curl/8.7.1
> Accept: */*
> authorization: Basic YWRtaW46YWRtaW4=
> content-type: application/json
> Content-Length: 30
>
* upload completely sent off: 30 bytes
< HTTP/1.1 404 Not Found
< Configuration-Version: 1
< Content-Type: application/json
< Vary: Origin
< Date: Fri, 19 Dec 2025 17:17:24 GMT
< Content-Length: 0
<
* Connection #0 to host 127.0.0.1 left intact
  1. After. Notice the expected value for the 0x103ea97b0 entry
$ echo "show map maps/paths.map" | socat stdio /tmp/admin.sock
0x103ea97b0 api newapiservers
0x103ea9810 cart cartservers

The 404 is misleading since the entry is actually updated and will make operations like the sync with storage to never happen.

See #398 for more info regarding the environment used for testing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions