ingress-nginx-helm/internal/ingress
Renan Gonçalves 869e18b264
Avoid race conditions by copying the list before sorting (#8573)
When creating several ingresses at the same time a race condition can
happen by modifying a variable deep in another object. When this race
condition is triggered the generated nginx configuration is broken:

```
nginx: [emerg] invalid parameter "8.8.8.8/32,8" in /tmp/nginx-cfg4027854160:671
nginx: configuration file /tmp/nginx-cfg4027854160 test failed
```

Once it happens, the controller won't ever be able to generate the
configuration again. Thus the only option is to restart the process.

There is not really a good way to reproduce this issue. It happens quite
sporadically every 2 or 3 days. However, after this fix has been
applied, we haven't seen it happen after about 4 weeks.

Co-authored-by: Ruud van der Weijde <ruudvanderweijde@gmail.com>
2022-05-23 05:50:03 -07:00
..
annotations Avoid race conditions by copying the list before sorting (#8573) 2022-05-23 05:50:03 -07:00
controller Implement reporting status classes in metrics (#8548) 2022-05-21 11:18:00 -07:00
defaults Allow the usage of Services as Upstream on a global level (#7469) 2021-09-07 12:47:15 -07:00
errors Remove deprecated libraries, update other libs, add ci v1.23 (#8118) 2022-01-09 16:29:12 -08:00
inspector Implement object deep inspector (#8456) 2022-04-11 07:06:07 -07:00
metric Implement reporting status classes in metrics (#8548) 2022-05-21 11:18:00 -07:00
resolver chore: Add test to internal ingress resolver pkg 2020-12-23 13:33:12 -03:00
status Remove deprecated libraries, update other libs, add ci v1.23 (#8118) 2022-01-09 16:29:12 -08:00
sslcert.go Add a certificate info metric (#8253) 2022-02-24 07:08:32 -08:00
types.go Add stream-snippet as a ConfigMap and Annotation option (#8029) 2021-12-23 11:46:30 -08:00
types_equals.go generating SHA for CA only certs in backend_ssl.go + comparision of ProxySSL structures in types_equals.go (#8098) 2022-01-09 14:06:00 -03:00
types_equals_test.go fix crl not reload when crl got updated in the ca secret 2021-03-31 16:13:07 -04:00
zz_generated.deepcopy.go Update ingress to go 1.17 (#7521) 2021-08-23 14:25:25 -07:00