conductor-oss / conductor-oss/conductor
[Bug] Conductor becomes unresponsive after some time with Postgres persistence
- Dominant language
- Java
- Stars
- 32.2k
- Forks
- 1k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 37
Description
**Describe the bug**
When using the "Postgres-ES" persistence docker configuration preset, conductor seems to run into a problem after a while and after even more time Conductor becomes fully unresponsive and doesnt answer any API requess.
the postgres db keeps logging this:
```
PostgreSQL Database directory appears to contain a database; Skipping initialization
2025-06-23 18:40:09.002 CEST [1] LOG: starting PostgreSQL 17.5 (Debian 17.5-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-06-23 18:40:09.026 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2025-06-23 18:40:09.026 CEST [1] LOG: listening on IPv6 address "::", port 5432
2025-06-23 18:40:09.027 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-06-23 18:40:09.029 CEST [29] LOG: database system was shut down at 2025-06-23 18:39:50 CEST
2025-06-23 18:40:09.033 CEST [1] LOG: database system is ready to accept connections
2025-06-23 18:43:16.697 CEST [49] ERROR: lastPollTime cannot be set to a lower value
2025-06-23 18:43:16.697 CEST [49] CONTEXT: PL/pgSQL function poll_data_update_check() line 4 at RAISE
2025-06-23 18:43:16.697 CEST [49] STATEMENT: UPDATE poll_data SET json_data=$1, modified_on=CURRENT_TIMESTAMP WHERE queue_name=$2 AND domain=$3
2025-06-23 18:44:13.257 CEST [48] ERROR: lastPollTime cannot be set to a lower value
2025-06-23 18:44:13.257 CEST [48] CONTEXT: PL/pgSQL function poll_data_update_check() line 4 at RAISE
2025-06-23 18:44:13.257 CEST [48] STATEMENT: UPDATE poll_data SET json_data=$1, modified_on=CURRENT_TIMESTAMP WHERE queue_name=$2 AND domain=$3
2025-06-23 18:45:09.126 CEST [27] LOG: checkpoint starting: time
2025-06-23 18:45:12.534 CEST [27] LOG: checkpoint complete: wrote 41 buffers (0.3%); 0 WAL file(s) added, 0 removed, 1 recycled; write=3.407 s, sync=0.001 s, total=3.408 s; sync files=14, longest=0.001 s, average=0.001 s; distance=2842 kB, estimate=2842 kB; lsn=5/34219B10, redo lsn=5/34201958
2025-06-23 18:45:16.746 CEST [46] ERROR: lastPollTime cannot be set to a lower value
2025-06-23 18:45:16.746 CEST [46] CONTEXT: PL/pgSQL function poll_data_update_check() line 4 at RAISE
2025-06-23 18:45:16.746 CEST [46] STATEMENT: UPDATE poll_data SET json_data=$1, modified_on=CURRENT_TIMESTAMP WHERE queue_name=$2 AND domain=$3
2025-06-23 18:45:17.147 CEST [44] ERROR: lastPollTime cannot be set to a lower value
2025-06-23 18:45:17.147 CEST [44] CONTEXT: PL/pgSQL function poll_data_update_check() line 4 at RAISE
2025-06-23 18:45:17.147 CEST [44] STATEMENT: UPDATE poll_data SET json_data=$1, modified_on=CURRENT_TIMESTAMP WHERE queue_name=$2 AND domain=$3
2025-06-23 18:45:17.147 CEST [50] ERROR: lastPollTime cannot be set to a lower value
2025-06-23 18:45:17.147 CEST [50] CONTEXT: PL/pgSQL function poll_data_update_check() line 4 at RAISE
2025-06-23 18:45:17.147 CEST [50] STATEMENT: UPDATE poll_data SET json_data=$1, modified_on=CURRENT_TIMESTAMP WHERE queue_name=$2 AND domain=$3
2025-06-23 18:45:25.982 CEST [44] ERROR: lastPollTime cannot be set to a lower value
2025-06-23 18:45:25.982 CEST [44] CONTEXT: PL/pgSQL function poll_data_update_check() line 4 at RAISE
2025-06-23 18:45:25.982 CEST [44] STATEMENT: UPDATE poll_data SET json_data=$1, modified_on=CURRENT_TIMESTAMP WHERE queue_name=$2 AND domain=$3
2025-06-23 18:45:25.982 CEST [51] ERROR: lastPollTime cannot be set to a lower value
2025-06-23 18:45:25.982 CEST [51] CONTEXT: PL/pgSQL function poll_data_update_check() line 4 at RAISE
2025-06-23 18:45:25.982 CEST [51] STATEMENT: UPDATE poll_data SET json_data=$1, modified_on=CURRENT_TIMESTAMP WHERE queue_name=$2 AND domain=$3
```
In parallel conductor is spamming logs that it cannot find Workflow IDs in the Sweeper:
```
531545208 [sweeper-thread-5] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with acd09a9d-7266-4076-80f2-223366c693e0 id can not be found. Attempting to unack using the id
531545208 [sweeper-thread-58] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 5986568c-72d1-4f31-adc0-d660bad80ec8 id can not be found. Attempting to unack using the id
531545208 [sweeper-thread-10] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 13930946-b750-45fe-8560-7e25b63f1e12 id can not be found. Attempting to unack using the id
531545208 [sweeper-thread-38] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 70f7587e-0103-458d-aa30-5595d0a0ad5f id can not be found. Attempting to unack using the id
531545208 [sweeper-thread-36] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with c21721aa-2349-4bb9-970c-643ffc3183e6 id can not be found. Attempting to unack using the id
531545208 [sweeper-thread-51] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 6c5ac365-1d58-407c-8199-aeedb11129a7 id can not be found. Attempting to unack using the id
531545208 [sweeper-thread-23] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 979e9ee4-fdf5-4a31-94a2-91b268592004 id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-19] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with d4316aa5-8b6b-4e65-94e6-76106fad42b7 id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-43] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with f2dfc9df-236c-435a-88b2-50c19cb0261a id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-60] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 131fe94d-fb59-48f9-b898-e5353943293e id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-33] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with f653a812-1b4b-4830-808e-ae77b482641f id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-47] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with c4a58f39-a186-4a84-b98d-892d46f3ce9a id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-48] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 2a5748c0-9f27-44b9-9dc2-f52d1c09d836 id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-56] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 5815ba22-15ec-4210-94c6-15af463e1d05 id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-25] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with aadab2da-a3ae-418b-9f8a-367f87ea585d id can not be found. Attempting to unack using the id
531545209 [sweeper-thread-31] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 764e7e41-5928-4184-8a2d-8e9d8f920449 id can not be found. Attempting to unack using the id
531545210 [sweeper-thread-44] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with af20d715-3821-4823-9bf0-0cc02fd2eca3 id can not be found. Attempting to unack using the id
531545210 [sweeper-thread-13] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with abd49314-9d65-4014-9b50-5105a6fb0323 id can not be found. Attempting to unack using the id
531545210 [sweeper-thread-55] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 14c87711-59af-4eff-9214-42a0e923729b id can not be found. Attempting to unack using the id
531545210 [sweeper-thread-54] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 2209474d-5f20-4e7d-a363-5e0bd37e5967 id can not be found. Attempting to unack using the id
```
And sometimes it even prints a "Broken pipe" error, which I assume is the actual Web API request timing out:
```
532566937 [sweeper-thread-3] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with 2accb2fd-cf80-448d-8c37-d7a1536dd9cd id can not be found. Attempting to unack using the id
532566937 [sweeper-thread-18] WARN com.netflix.conductor.core.reconciliation.WorkflowSweeper [] - Workflow with d97e1f05-66ea-4b08-9c30-3ad4f2773b67 id can not be found. Attempting to unack using the id
532602588 [http-nio-8080-exec-77] ERROR com.netflix.conductor.rest.controllers.ApplicationExceptionMapper [] - Error AsyncRequestNotUsableException url: '/api/metadata/taskdefs'
org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to write: java.io.IOException: Broken pipe
at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleHttpServletResponse.handleIOException(StandardServletAsyncWebRequest.java:343) ~[spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.write(StandardServletAsyncWebRequest.java:401) ~[spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:261) ~[spring-core-6.1.14.jar!/:6.1.14]
at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2243) ~[jackson-core-2.18.0.jar!/:2.18.0]
at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1204) ~[jackson-core-2.18.0.jar!/:2.18.0]
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1063) ~[jackson-databind-2.18.0.jar!/:2.18.0]
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:483) ~[spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:114) ~[spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:297) ~[spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:192) ~[spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) ~[spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) ~[spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) ~[spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) ~[spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) [spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) [spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) [spring-webmvc-6.1.14.jar!/:6.1.14]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) [spring-webmvc-6.1.14.jar!/:6.1.14]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) [tomcat-embed-core-10.1.31.jar!/:?]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) [spring-webmvc-6.1.14.jar!/:6.1.14]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) [tomcat-embed-websocket-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) [tomcat-embed-core-10.1.31.jar!/:?]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.1.14.jar!/:6.1.14]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) [tomcat-embed-core-10.1.31.jar!/:?]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.1.14.jar!/:6.1.14]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) [tomcat-embed-core-10.1.31.jar!/:?]
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) [spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.1.14.jar!/:6.1.14]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) [tomcat-embed-core-10.1.31.jar!/:?]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-6.1.14.jar!/:6.1.14]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.1.14.jar!/:6.1.14]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) [tomcat-embed-core-10.1.31.jar!/:?]
at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:341) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:776) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:673) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:376) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:354) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:103) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.write(StandardServletAsyncWebRequest.java:398) ~[spring-web-6.1.14.jar!/:6.1.14]
... 57 more
Caused by: java.io.IOException: Broken pipe
at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[?:?]
at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132) ~[?:?]
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:97) ~[?:?]
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:53) ~[?:?]
at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[?:?]
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:122) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1378) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:764) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:589) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:533) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:548) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:84) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.coyote.Response.doWrite(Response.java:633) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:329) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:776) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:673) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:376) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:354) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:103) ~[tomcat-embed-core-10.1.31.jar!/:?]
at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.write(StandardServletAsyncWebRequest.java:398) ~[spring-web-6.1.14.jar!/:6.1.14]
... 57 more
```
**Details**
Conductor version: `v3.22.0-alpha1`
Persistence implementation: `Postgres`
Queue implementation: `Postgres`
Lock: `Postgres`
Workflow definition:
Task definition:
Event handler definition:
**To Reproduce**
Steps to reproduce the behavior:
1. Use `docker-compose-postgres-es7.yaml`
2. Deploy it
3. Start some parallel workers
4. Error appears after some time
5. After some more time Conductor becomes fully unresponsive and doesnt answer any API request
**Expected behavior**
Conductor should continue to work or print an exact error what and why its not reachable.
**Screenshots**

Contributor guide
Research direction
Review the Postgres-ES Docker preset and the poll_data update errors first; trace how lastPollTime failures relate to WorkflowSweeper's missing workflow IDs. Then inspect the /api/metadata/taskdefs request path and reproduce the progression from database errors to unresponsive API requests. Done means the failure is explained and the fix is verified without the repeated database errors, sweeper warnings, or API unresponsiveness.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java, postgresql, spring-boot
- Domain
- backend, databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100