DynamoDB Concurrent Add to StringSet

Viewed 47

I have read that concurrent writes on the same attribute, such as list appends or overwriting by using SET attr = :val, will lose some data (unordered overwrites, etc.). A quick test with 4 processes running in parallel successfully added all elements to the set but I want to be sure. Can I count on this behavior? Will concurrent writes using ADD to the same StringSet field correctly write all elements to the set?

Currently using updateItem with the following payload:

TableName='TestTable',
Key={
    'PK': {'S': 'PrimaryKey'},
    'SK': {'S':'SortKey'}
},
UpdateExpression='ADD Field :value',
ExpressionAttributeValues={
    ':value': {'SS': ['test value']}
}
0 Answers
Related