fix: port conflict in worker process for prometheus port #12667
Merged
+2
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In a previous change, the prometheus server was moved from priviliged agent to worker which sometimes during restarts causes port conflict issues. This PR fixes it by enabling port reuse for prometheus server address. Since manual testing is hard for it, as it doesn't consistently reproduce locally, I have added script to reproduce in container environment where its being reproduced consistently.
Reproduction steps
Result: Request will be forbidden. To confirm check error log and you will see the log
bind() to 0.0.0.0:9091 failed (98: Address already in use)
Fix
The above script is modified to update the code in apisix container with the fix
Result: The request passes
Checklist