Skip to content

feat(datastore): Support for retrying Datastore transactions with the previous transaction id.#4342

Open
pcostell wants to merge 3 commits intoGoogleCloudPlatform:mainfrom
pcostell:previous-txn
Open

feat(datastore): Support for retrying Datastore transactions with the previous transaction id.#4342
pcostell wants to merge 3 commits intoGoogleCloudPlatform:mainfrom
pcostell:previous-txn

Conversation

@pcostell
Copy link
Copy Markdown

Fixes #4262.

Allows Datastore transaction using the @transactional decorator to be retried using @retryable while properly propagating the previous transaction id.

… transactions wtih a previous transaction id.

Change-Id: Id8a1aae10109d6d9531b8911631ad00e7014470b
@pcostell pcostell requested a review from a team as a code owner February 26, 2026 05:57
…ion retries using spring.cloud.gcp.datastore.previous-transaction-retry-enabled.

Change-Id: Ib23c2d4199fdccaf88eef83fc12e0085d40fe34a
prathmeshcc added a commit that referenced this pull request Mar 3, 2026
…-core (#4342)

This PR establishes a clean code quality baseline for the Spring Boot 4.0
and Spring Framework 7.0 migration by resolving all formatting and
checkstyle violations in the core module.

Key Improvements:

  1. Checkstyle Compliance
  * Applied final modifiers to classes and parameters to satisfy DesignForExtension and FinalParameters rules.
  * Resolved HiddenField violations by renaming setter parameters (e.g., scopes -> scopesList).
  * Fixed Javadoc formatting by adding mandatory empty lines before block tags (@param, @return) and correcting continuation indentation.
  * Enforced strict 80-character line limit across all core source files and Javadocs.

  2. Project Infrastructure
  * Upgraded fmt-maven-plugin to 2.29 with google-java-format 1.27.0 to support Java 17 syntax while maintaining consistency.
  * Globally excluded junit-vintage-engine from spring-boot-starter-test to prevent GraalVM initialization issues with legacy JUnit 4 infrastructure.

  3. AOT & Reflection Hints
  * Updated GcpRuntimeHints to provide comprehensive reflection hints for Spring Data domain classes (Page, Slice, Sort) required for Native Image support.

Verification:
* Successfully executed full verify lifecycle: ./mvnw verify -pl spring-cloud-gcp-core.
* Confirmed 0 Checkstyle violations and 11/11 passing unit tests.
prathmeshcc added a commit that referenced this pull request Mar 3, 2026
…-core (#4342)

This PR establishes a clean code quality baseline for the Spring Boot 4.0
and Spring Framework 7.0 migration by resolving all formatting and
checkstyle violations in the core module.

Key Improvements:

  1. Checkstyle Compliance
  * Applied final modifiers to classes and parameters to satisfy DesignForExtension and FinalParameters rules.
  * Resolved HiddenField violations by renaming setter parameters (e.g., scopes -> scopesList).
  * Fixed Javadoc formatting by adding mandatory empty lines before block tags (@param, @return) and correcting continuation indentation.
  * Enforced strict 80-character line limit across all core source files and Javadocs.

  2. Project Infrastructure
  * Upgraded fmt-maven-plugin to 2.29 with google-java-format 1.27.0 to support Java 17 syntax while maintaining consistency.
  * Globally excluded junit-vintage-engine from spring-boot-starter-test to prevent GraalVM initialization issues with legacy JUnit 4 infrastructure.

  3. AOT & Reflection Hints
  * Updated GcpRuntimeHints to provide comprehensive reflection hints for Spring Data domain classes (Page, Slice, Sort) required for Native Image support.

Verification:
* Successfully executed full verify lifecycle: ./mvnw verify -pl spring-cloud-gcp-core.
* Confirmed 0 Checkstyle violations and 11/11 passing unit tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Datastore: support for previous transaction id in transaction manager

1 participant