googleapis / googleapis/google-cloud-java

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

Abierto
#12,232 0 comentarios 0 reacciones 1 asignado Reclamado por @rahul2393 Ver en GitHub
api: spanner
Lenguaje dominante
Java
Estrellas
2.1k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
154

Descripción

- **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
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.