Anyone know whats going on with PostgreSQL async_exec errors?

The C bindings emulate nonblocking API calls using async_exec; the postgres-pr driver does not. This is used for multithreaded Active Record by setting AR::Base.allow_concurrency = true. The pessimistic locking tests would deadlock without it.

This is not a regression, but it should be fixed.


So, I'm not entirely clear on this... From what you've written and
the source code, it sounds like in a production app (Mongrel), we
would be crazy to have allow_concurrency on false. Does turning it
off kill performance entirely, assuming we are using the C process

Or do I just not understand how this stuff works"

Mongrel serializes Rails requests because Action Pack isn’t thread-safe.

You’d turn on allow_concurrency in a multithreaded app using Active Record only.