Todoui-flask throws a number of connection refused error during startup after running docker compose up.
I'm using Podman as my container runtime on macOS, otherwise I'm using the provided dev container.
See full log below (cleaned from other components than todoui-flask, todoui-thymeleaf and todobackend-springboot)
todoui-thymeleaf-1 | OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
todobackend-springboot-1 | OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
todoui-thymeleaf-1 | [otel.javaagent 2025-01-23 09:57:40:959 +0000] [main] INFO io.opentelemetry.javaagent.tooling.VersionLogger - opentelemetry-javaagent - version: 2.3.0
todobackend-springboot-1 | [otel.javaagent 2025-01-23 09:57:41:037 +0000] [main] INFO io.opentelemetry.javaagent.tooling.VersionLogger - opentelemetry-javaagent - version: 2.3.0
todoui-flask-1 | * Serving Flask app 'app'
todoui-flask-1 | * Debug mode: off
todoui-flask-1 | INFO:werkzeug:_internal:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
todoui-flask-1 | * Running on all addresses (0.0.0.0)
todoui-flask-1 | * Running on http://127.0.0.1:5000
todoui-flask-1 | * Running on http://172.18.0.3:5000
todoui-flask-1 | INFO:werkzeug:_internal:Press CTRL+C to quit
todoui-thymeleaf-1 |
todoui-thymeleaf-1 | . ____ _ __ _ _
todoui-thymeleaf-1 | /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
todoui-thymeleaf-1 | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
todoui-thymeleaf-1 | \\/ ___)| |_)| | | | | || (_| | ) ) ) )
todoui-thymeleaf-1 | ' |____| .__|_| |_|_| |_\__, | / / / /
todoui-thymeleaf-1 | =========|_|==============|___/=/_/_/_/
todoui-thymeleaf-1 | :: Spring Boot :: (v2.7.16)
todoui-thymeleaf-1 |
todobackend-springboot-1 |
todobackend-springboot-1 | . ____ _ __ _ _
todobackend-springboot-1 | /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
todobackend-springboot-1 | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
todobackend-springboot-1 | \\/ ___)| |_)| | | | | || (_| | ) ) ) )
todobackend-springboot-1 | ' |____| .__|_| |_|_| |_\__, | / / / /
todobackend-springboot-1 | =========|_|==============|___/=/_/_/_/
todobackend-springboot-1 | :: Spring Boot :: (v3.2.2)
todobackend-springboot-1 |
todoui-thymeleaf-1 | 2025-01-23 09:57:47.350 INFO 1 --- [ main] io.novatec.todoui.TodouiApplication : Starting TodouiApplication using Java 21.0.2 on 31e62619933f with PID 1 (/opt/todoui/app started by root in /opt/todoui)
todoui-thymeleaf-1 | 2025-01-23 09:57:47.379 INFO 1 --- [ main] io.novatec.todoui.TodouiApplication : No active profile set, falling back to 1 default profile: "default"
todobackend-springboot-1 | 2025-01-23T09:57:48.080Z INFO 1 --- [springboot-backend ] [ main] i.n.todobackend.TodobackendApplication : Starting TodobackendApplication using Java 21.0.2 with PID 1 (/opt/todobackend/app started by root in /opt/todobackend)
todobackend-springboot-1 | 2025-01-23T09:57:48.109Z INFO 1 --- [springboot-backend ] [ main] i.n.todobackend.TodobackendApplication : The following 1 profile is active: "prod"
todoui-thymeleaf-1 | 2025-01-23 09:57:50.932 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8090 (http)
todoui-thymeleaf-1 | 2025-01-23 09:57:51.010 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
todoui-thymeleaf-1 | 2025-01-23 09:57:51.011 INFO 1 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.80]
todoui-thymeleaf-1 | 2025-01-23 09:57:51.133 INFO 1 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
todoui-thymeleaf-1 | 2025-01-23 09:57:51.133 INFO 1 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3634 ms
todobackend-springboot-1 | 2025-01-23T09:57:52.086Z INFO 1 --- [springboot-backend ] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
todoui-thymeleaf-1 | 2025-01-23 09:57:52.181 INFO 1 --- [ main] io.novatec.todoui.TodouiApplication : UI initialized for backend at http://todobackend-springboot:8080/
todobackend-springboot-1 | 2025-01-23T09:57:52.187Z INFO 1 --- [springboot-backend ] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 87 ms. Found 1 JPA repository interface.
todoui-thymeleaf-1 | 2025-01-23 09:57:53.138 INFO 1 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 13 endpoint(s) beneath base path '/actuator'
todoui-thymeleaf-1 | 2025-01-23 09:57:53.684 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8090 (http) with context path ''
todoui-thymeleaf-1 | 2025-01-23 09:57:53.758 INFO 1 --- [ main] io.novatec.todoui.TodouiApplication : Started TodouiApplication in 7.405 seconds (JVM running for 14.01)
todobackend-springboot-1 | 2025-01-23T09:57:53.884Z INFO 1 --- [springboot-backend ] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
todobackend-springboot-1 | 2025-01-23T09:57:53.938Z INFO 1 --- [springboot-backend ] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
todobackend-springboot-1 | 2025-01-23T09:57:53.938Z INFO 1 --- [springboot-backend ] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.18]
todobackend-springboot-1 | 2025-01-23T09:57:54.036Z INFO 1 --- [springboot-backend ] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
todobackend-springboot-1 | 2025-01-23T09:57:54.038Z INFO 1 --- [springboot-backend ] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 5734 ms
todoui-flask-1 | INFO:root:app:POST http://todobackend-springboot:8080/todos//todos/Sample
todoui-flask-1 | ERROR:app:app:Exception on /add [POST]
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 198, in _new_conn
todoui-flask-1 | sock = connection.create_connection(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 85, in create_connection
todoui-flask-1 | raise err
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 73, in create_connection
todoui-flask-1 | sock.connect(sa)
todoui-flask-1 | ConnectionRefusedError: [Errno 111] Connection refused
todoui-flask-1 |
todoui-flask-1 | The above exception was the direct cause of the following exception:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 793, in urlopen
todoui-flask-1 | response = self._make_request(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 496, in _make_request
todoui-flask-1 | conn.request(
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 400, in request
todoui-flask-1 | self.endheaders()
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
todoui-flask-1 | self._send_output(message_body, encode_chunked=encode_chunked)
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
todoui-flask-1 | self.send(msg)
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
todoui-flask-1 | self.connect()
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 238, in connect
todoui-flask-1 | self.sock = self._new_conn()
todoui-flask-1 | ^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 213, in _new_conn
todoui-flask-1 | raise NewConnectionError(
todoui-flask-1 | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7ffff4160980>: Failed to establish a new connection: [Errno 111] Connection refused
todoui-flask-1 |
todoui-flask-1 | The above exception was the direct cause of the following exception:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 486, in send
todoui-flask-1 | resp = conn.urlopen(
todoui-flask-1 | ^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/urllib3/__init__.py", line 224, in instrumented_urlopen
todoui-flask-1 | return wrapped(*args, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 847, in urlopen
todoui-flask-1 | retries = retries.increment(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/retry.py", line 515, in increment
todoui-flask-1 | raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='todobackend-springboot', port=8080): Max retries exceeded with url: /todos/Sample (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ffff4160980>: Failed to establish a new connection: [Errno 111] Connection refused'))
todoui-flask-1 |
todoui-flask-1 | During handling of the above exception, another exception occurred:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1473, in wsgi_app
todoui-flask-1 | response = self.full_dispatch_request()
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 882, in full_dispatch_request
todoui-flask-1 | rv = self.handle_user_exception(e)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 880, in full_dispatch_request
todoui-flask-1 | rv = self.dispatch_request()
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 865, in dispatch_request
todoui-flask-1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/app/app.py", line 37, in add
todoui-flask-1 | response = requests.post(app.config['BACKEND_URL']+new_todo)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 115, in post
todoui-flask-1 | return request("post", url, data=data, json=json, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 59, in request
todoui-flask-1 | return session.request(method=method, url=url, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
todoui-flask-1 | resp = self.send(prep, **send_kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 303, in instrumented_send
todoui-flask-1 | raise exception.with_traceback(exception.__traceback__)
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 221, in instrumented_send
todoui-flask-1 | result = wrapped_send(
todoui-flask-1 | ^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
todoui-flask-1 | r = adapter.send(request, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 519, in send
todoui-flask-1 | raise ConnectionError(e, request=request)
todoui-flask-1 | requests.exceptions.ConnectionError: HTTPConnectionPool(host='todobackend-springboot', port=8080): Max retries exceeded with url: /todos/Sample (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ffff4160980>: Failed to establish a new connection: [Errno 111] Connection refused'))
todoui-flask-1 | INFO:werkzeug:_internal:172.18.0.4 - - [23/Jan/2025 09:57:55] "POST /add HTTP/1.1" 500 -
todobackend-springboot-1 | 2025-01-23T09:57:55.579Z INFO 1 --- [springboot-backend ] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
todobackend-springboot-1 | 2025-01-23T09:57:55.698Z INFO 1 --- [springboot-backend ] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.1.Final
todobackend-springboot-1 | 2025-01-23T09:57:55.769Z INFO 1 --- [springboot-backend ] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled
todobackend-springboot-1 | 2025-01-23T09:57:56.250Z INFO 1 --- [springboot-backend ] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer
todobackend-springboot-1 | 2025-01-23T09:57:56.304Z INFO 1 --- [springboot-backend ] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
todobackend-springboot-1 | 2025-01-23T09:57:57.421Z INFO 1 --- [springboot-backend ] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@56ed6e17
todobackend-springboot-1 | 2025-01-23T09:57:57.462Z INFO 1 --- [springboot-backend ] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
todoui-flask-1 | ERROR:app:app:Exception on / [GET]
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 198, in _new_conn
todoui-flask-1 | sock = connection.create_connection(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 85, in create_connection
todoui-flask-1 | raise err
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 73, in create_connection
todoui-flask-1 | sock.connect(sa)
todoui-flask-1 | ConnectionRefusedError: [Errno 111] Connection refused
todoui-flask-1 |
todoui-flask-1 | The above exception was the direct cause of the following exception:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 793, in urlopen
todoui-flask-1 | response = self._make_request(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 496, in _make_request
todoui-flask-1 | conn.request(
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 400, in request
todoui-flask-1 | self.endheaders()
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
todoui-flask-1 | self._send_output(message_body, encode_chunked=encode_chunked)
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
todoui-flask-1 | self.send(msg)
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
todoui-flask-1 | self.connect()
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 238, in connect
todoui-flask-1 | self.sock = self._new_conn()
todoui-flask-1 | ^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 213, in _new_conn
todoui-flask-1 | raise NewConnectionError(
todoui-flask-1 | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fffee6cb410>: Failed to establish a new connection: [Errno 111] Connection refused
todoui-flask-1 |
todoui-flask-1 | The above exception was the direct cause of the following exception:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 486, in send
todoui-flask-1 | resp = conn.urlopen(
todoui-flask-1 | ^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/urllib3/__init__.py", line 224, in instrumented_urlopen
todoui-flask-1 | return wrapped(*args, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 847, in urlopen
todoui-flask-1 | retries = retries.increment(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/retry.py", line 515, in increment
todoui-flask-1 | raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='todobackend-springboot', port=8080): Max retries exceeded with url: /todos/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fffee6cb410>: Failed to establish a new connection: [Errno 111] Connection refused'))
todoui-flask-1 |
todoui-flask-1 | During handling of the above exception, another exception occurred:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1473, in wsgi_app
todoui-flask-1 | response = self.full_dispatch_request()
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 882, in full_dispatch_request
todoui-flask-1 | rv = self.handle_user_exception(e)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 880, in full_dispatch_request
todoui-flask-1 | rv = self.dispatch_request()
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 865, in dispatch_request
todoui-flask-1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/app/app.py", line 20, in index
todoui-flask-1 | response = requests.get(backend_url)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 73, in get
todoui-flask-1 | return request("get", url, params=params, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 59, in request
todoui-flask-1 | return session.request(method=method, url=url, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
todoui-flask-1 | resp = self.send(prep, **send_kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 303, in instrumented_send
todoui-flask-1 | raise exception.with_traceback(exception.__traceback__)
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 221, in instrumented_send
todoui-flask-1 | result = wrapped_send(
todoui-flask-1 | ^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
todoui-flask-1 | r = adapter.send(request, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 519, in send
todoui-flask-1 | raise ConnectionError(e, request=request)
todoui-flask-1 | requests.exceptions.ConnectionError: HTTPConnectionPool(host='todobackend-springboot', port=8080): Max retries exceeded with url: /todos/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fffee6cb410>: Failed to establish a new connection: [Errno 111] Connection refused'))
todoui-flask-1 | INFO:werkzeug:_internal:172.18.0.4 - - [23/Jan/2025 09:58:00] "GET / HTTP/1.1" 500 -
todobackend-springboot-1 exited with code 137
otelcol-1 | 2025-01-23T09:58:01.070Z info TracesExporter {"kind": "exporter", "data_type": "traces", "name": "debug", "resource spans": 1, "spans": 2}
todobackend-springboot-1 | OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
todobackend-springboot-1 | [otel.javaagent 2025-01-23 09:58:01:801 +0000] [main] INFO io.opentelemetry.javaagent.tooling.VersionLogger - opentelemetry-javaagent - version: 2.3.0
loadgenerator-1 | % Total % Received % Xferd Average Speed Time Time Time Current
loadgenerator-1 | Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host todoui-flask:5000 was resolved.
loadgenerator-1 | * IPv6: (none)
loadgenerator-1 | * IPv4: 172.18.0.3
loadgenerator-1 | * Trying 172.18.0.3:5000...
loadgenerator-1 | * Connected to todoui-flask (172.18.0.3) port 5000
loadgenerator-1 | > POST /delete HTTP/1.1
loadgenerator-1 | > Host: todoui-flask:5000
loadgenerator-1 | > User-Agent: curl/8.5.0
loadgenerator-1 | > Accept: */*
loadgenerator-1 | > Content-Length: 11
loadgenerator-1 | > Content-Type: application/x-www-form-urlencoded
loadgenerator-1 | >
todoui-flask-1 | INFO:root:app:POST http://todobackend-springboot:8080/todos//todos/Sample
loadgenerator-1 | } [11 bytes data]
todoui-flask-1 | ERROR:app:app:Exception on /delete [POST]
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 198, in _new_conn
todoui-flask-1 | sock = connection.create_connection(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 85, in create_connection
todoui-flask-1 | raise err
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 73, in create_connection
todoui-flask-1 | sock.connect(sa)
todoui-flask-1 | ConnectionRefusedError: [Errno 111] Connection refused
todoui-flask-1 |
todoui-flask-1 | The above exception was the direct cause of the following exception:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 793, in urlopen
todoui-flask-1 | response = self._make_request(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^
loadgenerator-1 | <!doctype html>
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 496, in _make_request
loadgenerator-1 | <html lang=en>
todoui-flask-1 | conn.request(
loadgenerator-1 | <title>500 Internal Server Error</title>
loadgenerator-1 | <h1>Internal Server Error</h1>
loadgenerator-1 | <p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>
loadgenerator-1 | < HTTP/1.1 500 INTERNAL SERVER ERROR
loadgenerator-1 | < Server: Werkzeug/3.0.2 Python/3.12.3
loadgenerator-1 | < Date: Thu, 23 Jan 2025 09:58:05 GMT
loadgenerator-1 | < Content-Type: text/html; charset=utf-8
loadgenerator-1 | < Content-Length: 265
loadgenerator-1 | < Connection: close
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 400, in request
loadgenerator-1 | <
todoui-flask-1 | self.endheaders()
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
todoui-flask-1 | self._send_output(message_body, encode_chunked=encode_chunked)
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
todoui-flask-1 | self.send(msg)
loadgenerator-1 | { [265 bytes data]
todoui-flask-1 | File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
100 276 100 265 100 11 6316 262 --:--:-- --:--:-- --:--:-- 7885
todoui-flask-1 | self.connect()
loadgenerator-1 | * Closing connection
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 238, in connect
todoui-flask-1 | self.sock = self._new_conn()
todoui-flask-1 | ^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 213, in _new_conn
todoui-flask-1 | raise NewConnectionError(
todoui-flask-1 | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fffed3ae5d0>: Failed to establish a new connection: [Errno 111] Connection refused
todoui-flask-1 |
todoui-flask-1 | The above exception was the direct cause of the following exception:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 486, in send
todoui-flask-1 | resp = conn.urlopen(
todoui-flask-1 | ^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/urllib3/__init__.py", line 224, in instrumented_urlopen
todoui-flask-1 | return wrapped(*args, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 847, in urlopen
todoui-flask-1 | retries = retries.increment(
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/urllib3/util/retry.py", line 515, in increment
todoui-flask-1 | raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='todobackend-springboot', port=8080): Max retries exceeded with url: /todos/Sample (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fffed3ae5d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
todoui-flask-1 |
todoui-flask-1 | During handling of the above exception, another exception occurred:
todoui-flask-1 |
todoui-flask-1 | Traceback (most recent call last):
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1473, in wsgi_app
todoui-flask-1 | response = self.full_dispatch_request()
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 882, in full_dispatch_request
todoui-flask-1 | rv = self.handle_user_exception(e)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 880, in full_dispatch_request
todoui-flask-1 | rv = self.dispatch_request()
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 865, in dispatch_request
todoui-flask-1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/app/app.py", line 47, in delete
todoui-flask-1 | response = requests.delete(app.config['BACKEND_URL']+delete_todo)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 157, in delete
todoui-flask-1 | return request("delete", url, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 59, in request
todoui-flask-1 | return session.request(method=method, url=url, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
todoui-flask-1 | resp = self.send(prep, **send_kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 303, in instrumented_send
todoui-flask-1 | raise exception.with_traceback(exception.__traceback__)
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 221, in instrumented_send
todoui-flask-1 | result = wrapped_send(
todoui-flask-1 | ^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
todoui-flask-1 | r = adapter.send(request, **kwargs)
todoui-flask-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
todoui-flask-1 | File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 519, in send
todoui-flask-1 | raise ConnectionError(e, request=request)
todoui-flask-1 | requests.exceptions.ConnectionError: HTTPConnectionPool(host='todobackend-springboot', port=8080): Max retries exceeded with url: /todos/Sample (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fffed3ae5d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
todoui-flask-1 | INFO:werkzeug:_internal:172.18.0.4 - - [23/Jan/2025 09:58:05] "POST /delete HTTP/1.1" 500 -
loadgenerator-1 | % Total % Received % Xferd Average Speed Time Time Time Current
loadgenerator-1 | Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host todoui-thymeleaf:8090 was resolved.
loadgenerator-1 | * IPv6: (none)
loadgenerator-1 | * IPv4: 172.18.0.5
loadgenerator-1 | * Trying 172.18.0.5:8090...
loadgenerator-1 | * Connected to todoui-thymeleaf (172.18.0.5) port 8090
loadgenerator-1 | > POST / HTTP/1.1
loadgenerator-1 | > Host: todoui-thymeleaf:8090
loadgenerator-1 | > User-Agent: curl/8.5.0
loadgenerator-1 | > Accept: */*
loadgenerator-1 | > Content-Length: 11
loadgenerator-1 | > Content-Type: application/x-www-form-urlencoded
loadgenerator-1 | >
loadgenerator-1 | } [11 bytes data]
otelcol-1 | 2025-01-23T09:58:05.884Z info TracesExporter {"kind": "exporter", "data_type": "traces", "name": "debug", "resource spans": 1, "spans": 2}
todoui-thymeleaf-1 | 2025-01-23 09:58:05.956 INFO 1 --- [nio-8090-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
todoui-thymeleaf-1 | 2025-01-23 09:58:05.956 INFO 1 --- [nio-8090-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
todoui-thymeleaf-1 | 2025-01-23 09:58:05.961 INFO 1 --- [nio-8090-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
todoui-thymeleaf-1 | 2025-01-23 09:58:06.084 INFO 1 --- [nio-8090-exec-1] io.novatec.todoui.TodouiApplication : POST http://todobackend-springboot:8080//todos/Sample
todoui-thymeleaf-1 | 2025-01-23 09:58:06.248 ERROR 1 --- [nio-8090-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://todobackend-springboot:8080/todos/Sample": Connection refused; nested exception is java.net.ConnectException: Connection refused] with root cause
todoui-thymeleaf-1 |
todoui-thymeleaf-1 | java.net.ConnectException: Connection refused
todoui-thymeleaf-1 | at java.base/sun.nio.ch.Net.connect0(Native Method) ~[na:na]
todoui-thymeleaf-1 | at java.base/sun.nio.ch.Net.connect(Net.java:589) ~[na:na]
todoui-thymeleaf-1 | at java.base/sun.nio.ch.Net.connect(Net.java:578) ~[na:na]
todoui-thymeleaf-1 | at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:583) ~[na:na]
todoui-thymeleaf-1 | at java.base/java.net.Socket.connect(Socket.java:751) ~[na:na]
todoui-thymeleaf-1 | at java.base/java.net.Socket.connect(Socket.java:686) ~[na:na]
todoui-thymeleaf-1 | at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:183) ~[na:na]
Todoui-flask throws a number of connection refused error during startup after running
docker compose up.I'm using Podman as my container runtime on macOS, otherwise I'm using the provided dev container.
todoui-flask-1 | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='todobackend-springboot', port=8080): Max retries exceeded with url: /todos/Sample (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ffff4160980>: Failed to establish a new connection: [Errno 111] Connection refused'))See full log below (cleaned from other components than todoui-flask, todoui-thymeleaf and todobackend-springboot)