diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml new file mode 100644 index 0000000000..40d60a6c4a --- /dev/null +++ b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml @@ -0,0 +1,128 @@ + + + + + + mysqlnd_ms_xa_gc + Garbage collects unfinished XA transactions after severe errors + + + + &reftitle.description; + + int + mysqlnd_ms_xa_gc + mixedconnection + stringgtrid + + + + Garbage collects unfinished XA transactions. + + + The XA protocol is a blocking protocol. There exist cases when servers + participating in a global transaction cannot make progress when the transaction + coordinator crashes or disconnects. In such a case, the MySQL servers + keep waiting for instructions to finish the XA transaction in question. + Because transactions occupy resources, transactions should always be + terminated properly. + + + Garbage collection requires configuring a state store to track global + transactions. Should a PHP client crash in the middle of a transaction + and a new PHP client be started, then the built-in garbage collection + can learn about the aborted global transaction and terminate it. If you + do not configure a state store, the garbage collection cannot perform + any cleanup tasks. + + + The state store should be crash-safe and be highly available to survive + its own crash. Currently, only MySQL is supported as a state store. + + + Garbage collection can also be performed automatically in the background. + See the plugin configuration directive garbage_collection + for details. + + + Experimental + + The feature is currently under development. There may be issues and/or + feature limitations. Do not use in production environments. + + + + + + &reftitle.parameters; + + + connection + + + A MySQL connection handle obtained from any of the + connect functions of the mysqli, + mysql or + PDO_MYSQL extensions. + + + + + gtrid + + + Global transaction identifier (gtrid). If given, the garbage + collection considers the transaction only. Otherwise, + the state store is scanned for any unfinished transaction. + + + + + + + + &reftitle.returnvalues; + + Returns &true; if the global transaction has been rolled back. Otherwise, returns &false; + + + + + &reftitle.seealso; + + + + Quickstart XA/Distributed transactions + + + Runtime configuration + + + State store configuration + + + + + + + + diff --git a/reference/mysqlnd_ms/versions.xml b/reference/mysqlnd_ms/versions.xml index fec0a0f9dc..b8a1fb25a4 100755 --- a/reference/mysqlnd_ms/versions.xml +++ b/reference/mysqlnd_ms/versions.xml @@ -17,6 +17,7 @@ +