From 5469ab60d0fbd07fa2577b6b28cad9219ca10f8a Mon Sep 17 00:00:00 2001 From: Daniel Sullivan <7274438+danie1sullivan@users.noreply.github.com> Date: Thu, 9 Nov 2023 10:47:34 +0100 Subject: [PATCH] Use variable for DynomoDB batch size --- registry/dynamodb.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/registry/dynamodb.go b/registry/dynamodb.go index b2a83d62f..aeb38d9a9 100644 --- a/registry/dynamodb.go +++ b/registry/dynamodb.go @@ -68,6 +68,9 @@ type DynamoDBRegistry struct { const dynamodbAttributeMigrate = "dynamodb/needs-migration" +// DynamoDB allows a maximum batch size of 25 items. +var dynamodbMaxBatchSize uint8 = 25 + // NewDynamoDBRegistry returns a new DynamoDBRegistry object. func NewDynamoDBRegistry(provider provider.Provider, ownerID string, dynamodbAPI DynamoDBAPI, table string, txtPrefix, txtSuffix, txtWildcardReplacement string, managedRecordTypes, excludeRecordTypes []string, txtEncryptAESKey []byte, cacheInterval time.Duration) (*DynamoDBRegistry, error) { if ownerID == "" { @@ -477,10 +480,9 @@ func (im *DynamoDBRegistry) appendDelete(statements []*dynamodb.BatchStatementRe func (im *DynamoDBRegistry) executeStatements(ctx context.Context, statements []*dynamodb.BatchStatementRequest, handleErr func(request *dynamodb.BatchStatementRequest, response *dynamodb.BatchStatementResponse) error) error { for len(statements) > 0 { var chunk []*dynamodb.BatchStatementRequest - // DynamoDB allows a maximum batch size of 25 items. - if len(statements) > 25 { - chunk = statements[:25] - statements = statements[25:] + if len(statements) > int(dynamodbMaxBatchSize) { + chunk = statements[:dynamodbMaxBatchSize] + statements = statements[dynamodbMaxBatchSize:] } else { chunk = statements statements = nil