Established TCP connections were destroyed when Envoy receives configuration from Pilot

Hi there,

I’m having a critical issue when integrating istio with our product.

In our environment, Pilot is periodically pushing the xDS configuration to Envoy even there is no change, causing established TCP connections in Envoy broken.

Client side gets a lot of " unexpected end of stream on Connection".

Example: java.io.IOException: unexpected end of stream on Connection{172.168.40.61:12282, proxy=DIRECT hostAddress=/172.168.40.61:12282 cipherSuite=none protocol=http/1.1}

The Expected behavior:

  • Pilot shouldn’t push xDS configuration to Envoy if no changes
  • Established downstream connections shouldn’t be destroyed by Envoy unless the upstream service closes the connection itself.

Any idea?

Thanks,
Huabing