From 1806cc24ce16f0194843d3fbc41ce4ae34eed042 Mon Sep 17 00:00:00 2001 From: Dmitriy Tverdiakov <11927660+injectives@users.noreply.github.com> Date: Tue, 2 Sep 2025 15:32:16 +0100 Subject: [PATCH] docs(retries): add a note about implicit transaction This update adds a note about implicit transaction to `RetryableException`. --- .../neo4j/driver/exceptions/RetryableException.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/driver/src/main/java/org/neo4j/driver/exceptions/RetryableException.java b/driver/src/main/java/org/neo4j/driver/exceptions/RetryableException.java index aea4e1cace..c2b259c94d 100644 --- a/driver/src/main/java/org/neo4j/driver/exceptions/RetryableException.java +++ b/driver/src/main/java/org/neo4j/driver/exceptions/RetryableException.java @@ -16,10 +16,18 @@ */ package org.neo4j.driver.exceptions; +import org.neo4j.driver.Session; + /** * A marker interface for retryable exceptions. *
- * This indicates whether an operation that resulted in retryable exception is worth retrying. + * This indicates whether an operation that resulted in retryable exception might be resolved by retrying. + *
+ * Note that some database requests executed via implicit transaction API (like, {@link Session#run(String)}), + * might not be idempotent irrispective of this marker interface as its main focus is on the error type and not + * individual database request. An example of such database request is + * CALL {} IN TRANSACTIONS. + * * @since 5.0 */ public interface RetryableException {}