]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
doc(reconecting_engine): fix re-raise after attempts (#12306)
authorAugustin Prolongeau <augustin.pro@gmail.com>
Thu, 6 Feb 2025 23:18:57 +0000 (00:18 +0100)
committerFederico Caselli <cfederico87@gmail.com>
Thu, 6 Feb 2025 23:19:51 +0000 (00:19 +0100)
* doc(reconecting_engine): fix re-raise after attempts

* move re-raise after connection invalidation/rollback, reword log message

(cherry picked from commit 47dab9181c86e6a944411470885f6fe18a1fc15f)

doc/build/faq/connections.rst

index d93a4b1af767ce279e3c4f78b1892d4f02208faf..1f3bf1ba1401d82a9a84feb0456a81680576e9fc 100644 (file)
@@ -259,10 +259,10 @@ statement executions::
                 except engine.dialect.dbapi.Error as raw_dbapi_err:
                     connection = context.root_connection
                     if engine.dialect.is_disconnect(raw_dbapi_err, connection, cursor_obj):
-                        if retry > num_retries:
-                            raise
                         engine.logger.error(
-                            "disconnection error, retrying operation",
+                            "disconnection error, attempt %d/%d",
+                            retry + 1,
+                            num_retries + 1,
                             exc_info=True,
                         )
                         connection.invalidate()
@@ -275,6 +275,9 @@ statement executions::
                             if trans:
                                 trans.rollback()
 
+                        if retry == num_retries:
+                            raise
+
                         time.sleep(retry_interval)
                         context.cursor = cursor_obj = connection.connection.cursor()
                     else: