Skip to content

odbc-bridge stuck #3825

@johnskopis

Description

@johnskopis

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions