Logs filled with "(RuntimeError) awaited on another connection that failed to bootstrap types"

Title says it all, my application seems to be experiencing a disconnect from the database, and then attempts to reconnect.

When that happens, I experience a flood of errors like this:

01:05:07.646 [error] Postgrex.Protocol (#PID<0.2128.7>) disconnected: ** (DBConnection.ConnectionError) client #PID<0.11729.10> timed out because it checked out the connection for longer than 10000ms 
01:05:07.654 [error] #PID<0.11729.10> running App.Endpoint (cowboy_protocol) terminated 
01:05:09.185 [error] Postgrex.Protocol (#PID<0.27005.10>) timed out because it was handshaking for longer than 10000ms 
01:05:09.191 [error] Postgrex.Protocol (#PID<0.27004.8>) failed to connect: ** (RuntimeError) awaited on another connection that failed to bootstrap types 
01:05:09.192 [error] Postgrex.Protocol (#PID<0.15739.7>) failed to connect: ** (RuntimeError) awaited on another connection that failed to bootstrap types 
01:05:09.192 [error] Postgrex.Protocol (#PID<0.26932.8>) failed to connect: ** (RuntimeError) awaited on another connection that failed to bootstrap types 
01:05:09.193 [error] Postgrex.Protocol (#PID<0.27005.10>) failed to connect: ** (DBConnection.ConnectionError) tcp recv: closed 
01:05:09.193 [error] Postgrex.Protocol (#PID<0.27034.8>) failed to connect: ** (RuntimeError) awaited on another connection that failed to bootstrap types 
01:05:09.193 [error] Postgrex.Protocol (#PID<0.27178.10>) failed to connect: ** (RuntimeError) awaited on another connection that failed to bootstrap types 
01:05:09.193 [error] Postgrex.Protocol (#PID<0.26889.8>) failed to connect: ** (RuntimeError) awaited on another connection that failed to bootstrap types 
01:05:09.193 [error] Postgrex.Protocol (#PID<0.15386.7>) failed to connect: ** (RuntimeError) awaited on another connection that failed to bootstrap types 

I have found zero information on the web about this, and I am very confused by the whole Types part of the postgrex library. Could somebody help me understand what this might be coming from? It looks like a problem with the postgres instance, and it seems to always start with a ShareLock timing out a few queries, this causing the connection pool to crash.

1 Like

I’m wondering it that is worth reporting to the postgrex library, that either needs to be fixed or needs better error reporting…

1 Like

The problem has been resolved, it was a a malfunctioning database instance just randomly timing out connections for a couple minutes at a time. Don’t think the error messages are wrong, it just really doesn’t help figuring out the actual problem with the DB.