Hi, it’s not really clear for me how service retries work.
I have a service configured and an upstream with two targets.
_format_version: '1.1'
services:
- name: my-service
host: my-upstream
port: 8000
protocol: http
retries: 3
routes:
- name: my-route
paths:
- /
upstreams:
- name: my-upstream
targets:
- target: 192.168.3.23:10102
weight: 50
- target: 192.168.3.28:10102
weight: 50
healthchecks:
active:
concurrency: 100
healthy:
http_statuses:
- 200
- 302
interval: 1
successes: 1
http_path: /testKong
timeout: 1
type: http
unhealthy:
http_failures: 3
http_statuses:
- 429
- 404
- 500
- 501
- 502
- 503
- 504
- 505
interval: 1
tcp_failures: 3
timeouts: 3
passive:
healthy:
http_statuses:
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 226
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
successes: 1
type: http
unhealthy:
http_failures: 1
http_statuses:
- 429
- 500
- 503
tcp_failures: 1
timeouts: 1
slots: 100
What does “retries: 3” imply? I do not see that kind of behaviour in logs. The request is proxied and it has a healthy or unhealthy code as response and that’s all (so it seems it does just one retry, it does not retry on the second target if the first fails with 500 for example).
Thanks a lot.