The series is a compilation of patches with the upstream re-resolve feature from the Nginx Plus. The original commits were rebased on top of the current OSS code, grouped by features introduced and squashed. Some formatting quirks and other minor oddities could be attributed to a conscious effort to reduce divergence with the source branch.
This is a resubmission of the series from Feb 2023[1]. Main differences: - The code is now identical to the NGINX Plus (sans features we're not cleared to publish at the moment and minor cosmetic differences). The implementation might be not perfect architecturally, but it's been heavily tested and has been running in many production environments for many years. It's also already familiar to the team, simplifying the review, and serves as a good starting point for further improvements. - The configuration directives are now explicitly disabled on Windows platform. See the corresponding commit for the rationale. - Tests are now ported to use the features available in the NGINX OSS and added to the series. Known limitations: - All the periodic resolve tasks are handled in the first worker process. - The functionality requires a shared zone of a sufficient size to be configured in the upstream block. A rough estimation is 2k for a configured server entry + 2k for each resolved address. The zone requirement could be lifted with local allocation of the resolved peer data, but implementing that was out of scope. [1]: https://mailman.nginx.org/pipermail/nginx-devel/2023-February/4MCLSVRK7EX6DNKHFZN6CA4SKZUSA3GA.html _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel