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']}
}