diff --git a/documentation/connection_properties.md b/documentation/connection_properties.md index 4110bcfe7..c0cd13861 100644 --- a/documentation/connection_properties.md +++ b/documentation/connection_properties.md @@ -45,6 +45,7 @@ The 'Context' value indicates whether the property can only be set when a connec | oauthtoken | A valid pre-existing OAuth token to use for authentication for this connection. Setting this property will take precedence over any value set for a credentials file. | | | STARTUP | | optimizerstatisticspackage | Sets the query optimizer statistics package to use for this connection. | | | USER | | optimizerversion | Sets the default query optimizer version to use for this connection. | | | USER | +| read_lock_mode | This option controls the locking behavior for read operations and queries within a read/write transaction. It works in conjunction with the transaction's isolation level. PESSIMISTIC: Read locks are acquired immediately on read. This mode only applies to SERIALIZABLE isolation. This mode prevents concurrent modifications by locking data throughout the transaction. This reduces commit-time aborts due to conflicts, but can increase how long transactions wait for locks and the overall contention. OPTIMISTIC: Locks for reads within the transaction are not acquired on read. Instead, the locks are acquired on commit to validate that read/queried data has not changed since the transaction started. If a conflict is detected, the transaction will fail. This mode only applies to SERIALIZABLE isolation. This mode defers locking until commit, which can reduce contention and improve throughput. However, be aware that this increases the risk of transaction aborts if there's significant write competition on the same data. READ_LOCK_MODE_UNSPECIFIED: This is the default if no mode is set. The locking behavior depends on the isolation level: REPEATABLE_READ: Locking semantics default to OPTIMISTIC. However, validation checks at commit are only performed for queries using SELECT FOR UPDATE, statements with {@code LOCK_SCANNED_RANGES} hints, and DML statements. For all other isolation levels: If the read lock mode is not set, it defaults to PESSIMISTIC locking. | READ_LOCK_MODE_UNSPECIFIED | READ_LOCK_MODE_UNSPECIFIED, PESSIMISTIC, OPTIMISTIC | USER | | read_only_staleness | The read-only staleness to use for read-only transactions and single-use queries. | strong | | USER | | readonly | Should the connection start in read-only mode (true/false) | false | true, false | USER | | retryabortsinternally | Should the connection automatically retry Aborted errors (true/false) | true | true, false | USER | @@ -55,6 +56,8 @@ The 'Context' value indicates whether the property can only be set when a connec | tracing_prefix | The prefix that will be prepended to all OpenTelemetry traces that are generated by a Connection. | CloudSpanner | | STARTUP | | trackconnectionleaks | Capture the call stack of the thread that created a connection. This will pre-create a LeakedConnectionException already when a connection is created. This can be disabled, for example if a monitoring system logs the pre-created exception. If disabled, the LeakedConnectionException will only be created when an actual connection leak is detected. The stack trace of the exception will in that case not contain the call stack of when the connection was created. | true | true, false | STARTUP | | tracksessionleaks | Capture the call stack of the thread that checked out a session of the session pool. This will pre-create a LeakedSessionException already when a session is checked out. This can be disabled, for example if a monitoring system logs the pre-created exception. If disabled, the LeakedSessionException will only be created when an actual session leak is detected. The stack trace of the exception will in that case not contain the call stack of when the session was checked out. | true | true, false | STARTUP | +| transaction_timeout | Timeout for read/write transactions. | | | USER | +| universedomain | Configure the connection to try to connect to Spanner using a different partner Google Universe than GDU (googleapis.com). | googleapis.com | | STARTUP | | useautosavepointsforemulator | Automatically creates savepoints for each statement in a read/write transaction when using the Emulator. This is no longer needed when using Emulator version 1.5.23 or higher. | false | true, false | STARTUP | | useplaintext | Use a plain text communication channel (i.e. non-TLS) for communicating with the server (true/false). Set this value to true for communication with the Cloud Spanner emulator. | false | true, false | STARTUP | | useragent | The custom user-agent property name to use when communicating with Cloud Spanner. This property is intended for internal library usage, and should not be set by applications. | | | STARTUP | diff --git a/pom.xml b/pom.xml index 0fa1a289f..dc5c4a93a 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ com.google.cloud google-cloud-spanner-bom - 6.100.0 + 6.101.1 pom import diff --git a/src/test/java/com/google/cloud/spanner/jdbc/ConnectionPropertiesFileGenerator.java b/src/test/java/com/google/cloud/spanner/jdbc/ConnectionPropertiesFileGenerator.java index 9efc63b9e..052e4dce4 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/ConnectionPropertiesFileGenerator.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/ConnectionPropertiesFileGenerator.java @@ -45,7 +45,7 @@ public static void main(String[] args) throws IOException { .append("| ") .append(connectionProperty.getName()) .append(" | ") - .append(connectionProperty.getDescription()) + .append(connectionProperty.getDescription().replace("\n", " ")) .append(" | ") .append( connectionProperty.getDefaultValue() == null