Make sure postgres is ready to accept connections before neon-proxy starts #4
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.
I found an issue where it is possible to have both containers running without the
neon_control_plane
schema being created. It's a race condition that is very likely to happen when runningdocker compose up
for the first time.how to reproduce
docker compose down --volumes
to remove the containers and get rid of the db volumedocker-compose up
to start everythingneon-proxy-1
was not able to create the schema. The logs show that the DB was not initialized at this point even though the Postgres service was started.neon_control_plane
schemadocker-compose up
to start the containers againsolution
Instead of only waiting for Postgres container to be running,
ChatGPTI added a health check that can be used in the depends_on
block of the neon-proxy
service to guarantee that the DB can be used already.Now the logs indicate that the DB is used after its initialization.