We use external dictionary in postgres via odbc-bridge. The odbc-bridge connects to a pgbouncer proxy on postgres. both pgbouncer and postgres seem healthy but it's possible some query times out.
After a recent upgrade:
v18.14.11-stable...v18.14.17-stable
We are seeing instability in odbc-bridge. The bridge gets "stuck". Here is what I observe:
https://gist.github.com/johnskopis/c2f661dee3b1e5a79b636ca038d254f9
There is no activity on postgres socket (verified with tcpdump, strace).
After killing odbc-bridge it seems to be OK. As a workaround maybe a periodic task can check odbc-bridge health (/ping) and restart when unhealthy?
I am not too familiar with poco but looks like a coroutine bug. Maybe it gets confused and never switches back and gets stuck between read/write? I mention this because I noticed in the changeset:
The upgrade included some process lifecycle management changes for odbc-bridge
The upgrade also included a change in AIO eof detection.
Any help would be greatly appreciated.
Also, is it possible to run odbc-bridge outside of clickhouse? Maybe a workaround is to run using a scheduler and restart unhealthy odbc-bridge.
Thanks
We use external dictionary in postgres via odbc-bridge. The odbc-bridge connects to a pgbouncer proxy on postgres. both pgbouncer and postgres seem healthy but it's possible some query times out.
After a recent upgrade:
v18.14.11-stable...v18.14.17-stable
We are seeing instability in odbc-bridge. The bridge gets "stuck". Here is what I observe:
https://gist.github.com/johnskopis/c2f661dee3b1e5a79b636ca038d254f9
There is no activity on postgres socket (verified with tcpdump, strace).
After killing odbc-bridge it seems to be OK. As a workaround maybe a periodic task can check odbc-bridge health (/ping) and restart when unhealthy?
I am not too familiar with poco but looks like a coroutine bug. Maybe it gets confused and never switches back and gets stuck between read/write? I mention this because I noticed in the changeset:
The upgrade included some process lifecycle management changes for odbc-bridge
The upgrade also included a change in AIO eof detection.
Any help would be greatly appreciated.
Also, is it possible to run odbc-bridge outside of clickhouse? Maybe a workaround is to run using a scheduler and restart unhealthy odbc-bridge.
Thanks