On Thu, Dec 24, 2020 at 7:43 PM Fujii Masao <masao.fu...@oss.nttdata.com> wrote: > Even when we're in the midst of transaction, if that transaction has not used > the cached connections yet, we close them immediately. So, to make the > comment more precise, what about updating the comment as follows? > > --------------------- > After a change to a pg_foreign_server or pg_user_mapping catalog entry, > close connections depending on that entry immediately if current > transaction has not used those connections yet. Otherwise, mark those > connections as invalid and then make pgfdw_xact_callback() close them > at the end of current transaction, since they cannot be closed in the > midst > of a transaction using them. Closed connections will be remade at the > next > opportunity if necessary. > ---------------------
Done. > + /* > + * Close the connection if it's not in midst of a > xact. Otherwise > + * mark it as invalid so that it can be disconnected > at the end of > + * main xact in pgfdw_xact_callback(). > + */ > > Because of the same reason as the above, what about updating this comment > as follows? > > --------------------- > Close the connection immediately if it's not used yet in this > transaction. > Otherwise mark it as invalid so that pgfdw_xact_callback() can close it > at the end of this transaction. > --------------------- Done. Attaching v3 patch. Please have a look. Thanks! With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com
v3-0001-postgres_fdw-cached-connection-leaks-if-the-assoc.patch
Description: Binary data