Skip to content

Commit b774cf3

Browse files
authored
Improve transaction timeout docs (#1143)
The timeout behaves differently on different server versions in respects to the user being or not being able to overwrite the server timeout with a bigger value. Also make sure the docs mention special values like `0`.
1 parent 83f290e commit b774cf3

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

packages/neo4j-driver/src/docs.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,13 @@
2828
* <li>explicit transactions using {@link Session#beginTransaction} and {@link RxSession#beginTransaction}</li>
2929
* </ul>
3030
* @typedef {Object} TransactionConfig
31-
* @property {number} timeout - the transaction timeout in **milliseconds**. Transactions that execute longer than the configured timeout will
32-
* be terminated by the database. This functionality allows to limit query/transaction execution time. Specified timeout overrides the default timeout
33-
* configured in the database using `dbms.transaction.timeout` setting. Value should not represent a duration of zero or negative duration.
31+
* @property {number} timeout - the transaction timeout in **milliseconds**. Transactions that execute longer than the
32+
* configured timeout will be terminated by the database. This functionality allows to limit query/transaction execution
33+
* time. The Specified timeout overrides the default timeout configured in the database using the
34+
* `db.transaction.timeout` setting (``dbms.transaction.timeout`` before Neo4j 5.0). Values higher than
35+
* `db.transaction.timeout` will be ignored and will fall back to the default for server versions 4.2 to including 5.2.
36+
* The value should not represent a negative duration. A timeout of `0` will make the transaction execute indefinitely.
37+
* `null` (default) will use the default timeout configured on the server.
3438
* @property {Object} metadata - the transaction metadata. Specified metadata will be attached to the executing transaction and visible in the output
3539
* of `SHOW TRANSACTIONS YIELD *`. It will also get logged to the `query.log` file. This functionality makes it easier to tag transactions and is
3640
* equivalent to the `dbms.setTXMetaData` procedure, see https://neo4j.com/docs/cypher-manual/current/clauses/transaction-clauses/#query-listing-transactions

0 commit comments

Comments
 (0)