Open
Description
Describe the bug
When successfully closing a connection, PostgresNIO
includes a misleading "error" in its log statement.
To Reproduce
Steps to reproduce the behavior:
- Set a breakpoint in
PostgresChannelHandler
: https://github.com/vapor/postgres-nio/blob/1.18.1/Sources/PostgresNIO/New/PostgresChannelHandler.swift#L566 - Set log level to
.trace
or.debug
- Successfully establish a connection
- Close connection using
connection.close()
- Using LLDB, inspect
cleanup.error
- Find the log statement:
psql_connection_id=0 psql_error=PSQLError – Generic description to prevent accidental leakage of sensitive data. For debugging details, use String(reflecting: error). [PostgresNIO] Cleaning up and closing connection.
Expected behavior
I would expect not to see an error in the log statement when the connection was closed successfully.
Environment
- PostgresNIO version: 1.18.1
- OS version: macOS 14.0 (23A344)
Additional context
I can see that closeConnectionAndCleanup
already treats the error code clientConnectionClosed
a special since it doesn't fire an error for it:
Perhaps the log statement could also conditionally exclude the error metadata if the code is
clientConnectionClosed
?