aws / aws/aws-sdk-java-v2

Optimistic Locking while using Enhanced DDB Client - DeleteItem not working

Aperta
#2,358 9 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug dynamodb-enhanced hacktoberfest p2
Lingua principale
Java
Stelle
2.6k
Fork
1k
Merge medio
2g 9h
PR unite (30g)
51

Descrizione

## Describe the issue

Need to upgrade SDK version to 2 for DDB client. I want to understand how to enforce optimistic locking while doing CRUD operation by enhanced DDB client. I am already using @DynamoDbVersionAttribute annotation.

## Steps to Reproduce

1. Insert item using TransactWriteItemsEnhancedRequest - PutItem.
2. Fetch the item using table.getItem(GetItemEnhancedRequest). (recordVersion would be 1)
3. Update one field of item using TransactWriteItemsEnhancedRequest - UpdateItem. (recordVersion will updated to 2 in the DDB.)
4. Delete item using TransactWriteItemsEnhancedRequest - DeleteItem but use object fetched from Step 2 for deletion.

## Current Behavior

Item is deleted successfully without any exception for record number mismatch.

## Your Environment

* AWS Java SDK version used: 2
* JDK version used: 11
* Operating System and version: macOS 10.15.7

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Riproduci la sequenza in quattro passaggi utilizzando TransactWriteItemsEnhancedRequest, PutItem, GetItemEnhancedRequest, UpdateItem e DeleteItem con AWS Java SDK v2 e @DynamoDbVersionAttribute. Confronta il comportamento di eliminazione dell’oggetto obsoleto con la versione aggiornata del record; il lavoro è completato quando l’eliminazione applica il locking ottimistico e segnala una mancata corrispondenza della versione invece di eliminare l’elemento.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
aws, java
Ambito
databases
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.