Digging into the code, throughputPerTask is being set by
Math.floor(configuredThroughput * throughputPercent)
where configuredThroughput
is 40,000 by default if table is set to on-demand .
configuredThroughput
can be set by String WRITE_THROUGHPUT = "dynamodb.throughput.write"
Seems the lower bound for write capacity is 4,000 units, so if you want to be very safe, set ddbConfWrite.set("dynamodb.throughput.write", "8000");
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html