Skip to content

pgbouncer appears to lose sync when parameter is set in transaction mode #52

Description

@roji

I'm working on the .NET driver for PostgreSQL, Npgsql, and I think I've come across an issue.

During my tests, I set pgbouncer in transaction mode, and sent a packet containing a SET statement_timeout=30000 simple query message, followed by a regular extended protocol query: this seemed to make pgbouncer "lose sync" in some way. I know SET isn't supported in transaction mode, but I'd have expected a clear error rather than the strange behavior below:

Messages sent (as in wireshark): Q/P/D/B/E/S (the first Q is the SET)
Messages received: C/Z

pgbouncer logs:

2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'S' from server when not linked
2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'S' from server when not linked
2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'C' from server when not linked
2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'Z' from server when not linked

pgbouncer 1.5.4 on Ubuntu utopic, PostgreSQL 9.3. Let me know if there's any other info that can help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugsomething is brokenfixed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions