Currently when a stateful session in strict mode, when requested destination is not available responds with 503. But let's assume this flow
- Server is going through a rolling restart
- The Ingress Gateway Instance1 got the updated end point list
- The original client connects to Ingress Gateway Instance1 and session is established with backend, requested destination is set
- The original client makes request with the requested destination set. Now the request goes to Ingress Gateway Instance2. Let's assume Ingress Gateway Instance2 does not have those endpoints yet because of eventual consistency
Now the request fails with 503. Clients can not retry 503 generally because of idempotency.
We need a mechanism for clients to know this is a retriable request. One option is we introduce a config that says "status_on_missing_destination" and clients can retry when they see this status.
Not sure if there other alternatives.
Currently when a stateful session in strict mode, when requested destination is not available responds with 503. But let's assume this flow
Now the request fails with 503. Clients can not retry 503 generally because of idempotency.
We need a mechanism for clients to know this is a retriable request. One option is we introduce a config that says "status_on_missing_destination" and clients can retry when they see this status.
Not sure if there other alternatives.