aws / aws/aws-sdk-java-v2

UpdateItemEnhancedRequest for null version number with `ignoreNulls(true)` results into ConditionalCheckFailedException

Abierto
#1,985 5 comentarios 0 reacciones 0 asignados Ver en GitHub
documentation p3
Lenguaje dominante
Java
Estrellas
2.6k
Forks
1k
Merge medio
2 d 9 h
PR fusionados (30 d)
51

Descripción

## Describe the issue
When we use `ignoreNulls(true)` feature while doing `table.updateItem` understanding that it will ignore all null fields to update it in db. But it looks like it's not working as expected for dynamo db version field, when my object contain all required fields like primary hash key, and sort key and version number as null, it's throwing `ConditionalCheckFailedException`.

## Steps to Reproduce
Where version number field is declared as below.
```
@Getter(onMethod_ = {@DynamoDbVersionAttribute})
private Long version;
```

```
customDynamoDbBeanObject.version(null);
dynamoDbTable.updateItem(UpdateItemEnhancedRequest.builder(CustomDynamoDbBean.class)
.item(customDynamoDbBeanObject)
.ignoreNulls(true)
.build());
```
## Current Behavior
It's throwing `ConditionalCheckFailedException`.

## Your Environment
* AWS Java SDK version used: AwsJavaSdk-DynamoDb-Enhanced = 2.0;
* JDK version used: JDK8 = 1.0;
* Operating System and version: Linux

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en UpdateItemEnhancedRequest y table.updateItem en DynamoDB Enhanced Client y, a continuación, sigue cómo se gestiona un @DynamoDbVersionAttribute null con ignoreNulls(true). Reproduce el ejemplo mostrado de CustomDynamoDbBean en JDK 8 con AWS SDK 2.0; se considera terminado cuando la versión null se ignora sin ConditionalCheckFailedException y el comportamiento cuenta con cobertura de regresión.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
database
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.