googleapis / googleapis/google-cloud-java

[java-spanner] [FR] Improve error messaging for Table type mismatches

Offen
#12,232 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @rahul2393 Auf GitHub ansehen
api: spanner
Vorherrschende Sprache
Java
Sterne
2.1k
Forks
1.2k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
154

Beschreibung

- **Is this a bug or feature request?** Feature Request (Enhancement)
- **Current Behavior:** When a field type does not match the Spanner table definition (e.g., String vs Boolean in Table), the client throws a generic INVALID_ARGUMENT: invalid mutation key error. This makes debugging difficult as it does not specify which column caused the failure.
- **Expected Behavior:** The exception should ideally identify the specific column name and the type mismatch (e.g., "Expected BOOL for column 'isValid', but received STRING").
- **Example (unhelpful) Error:**
```
Caused by: com.google.cloud.spanner.SpannerException: INVALID_ARGUMENT: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Failed to initialize transaction due to invalid mutation key. - RequestId: 1.e93046ae8a546107.1.1.112.1
      at com.google.cloud.spanner.SpannerExceptionFactory.newSpannerExceptionPreformatted(SpannerExceptionFactory.java:359)
      at com.google.cloud.spanner.SpannerExceptionFactory.fromApiException(SpannerExceptionFactory.java:379)
      at com.google.cloud.spanner.SpannerExceptionFactory.newSpannerException(SpannerExceptionFactory.java:192)
      at com.google.cloud.spanner.SpannerExceptionFactory.newSpannerException(SpannerExceptionFactory.java:115)
      at com.google.cloud.spanner.SessionImpl.lambda$beginTransactionAsync$3(SessionImpl.java:507)
      ... 51 more
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.