From fcc1ce1b9cf11cfd9a0edb9d34209785b89c3417 Mon Sep 17 00:00:00 2001 From: ignaciolarranaga Date: Sat, 13 Jul 2019 18:55:12 -0300 Subject: [PATCH] Minor suggestion to add log on scans. --- .../DynamoDBEntityWithHashAndRangeKeyCriteria.java | 10 ++++++++++ .../query/DynamoDBEntityWithHashKeyOnlyCriteria.java | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashAndRangeKeyCriteria.java b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashAndRangeKeyCriteria.java index 0b1e3ff4..1fe0d92c 100644 --- a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashAndRangeKeyCriteria.java +++ b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashAndRangeKeyCriteria.java @@ -15,6 +15,8 @@ */ package org.socialsignin.spring.data.dynamodb.repository.query; +import static java.util.stream.Collectors.joining; + import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBQueryExpression; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression; @@ -22,6 +24,8 @@ import com.amazonaws.services.dynamodbv2.model.Condition; import com.amazonaws.services.dynamodbv2.model.QueryRequest; import com.amazonaws.services.dynamodbv2.model.Select; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.socialsignin.spring.data.dynamodb.core.DynamoDBOperations; import org.socialsignin.spring.data.dynamodb.query.CountByHashAndRangeKeyQuery; import org.socialsignin.spring.data.dynamodb.query.MultipleEntityQueryExpressionQuery; @@ -50,6 +54,8 @@ */ public class DynamoDBEntityWithHashAndRangeKeyCriteria extends AbstractDynamoDBQueryCriteria { + private static final Logger LOGGER = LoggerFactory.getLogger(DynamoDBEntityWithHashAndRangeKeyCriteria.class); + private Object rangeKeyAttributeValue; private Object rangeKeyPropertyValue; private String rangeKeyPropertyName; @@ -359,6 +365,10 @@ public DynamoDBScanExpression buildScanExpression() { scanExpression.addFilterCondition(conditionEntry.getKey(), condition); } } + + LOGGER.warn("Executing Scan for table '{}' when querying by <{}>", entityInformation.getDynamoDBTableName(), + attributeConditions.keySet().stream().collect(joining(", "))); + return scanExpression; } diff --git a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashKeyOnlyCriteria.java b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashKeyOnlyCriteria.java index e2747652..59398cb2 100644 --- a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashKeyOnlyCriteria.java +++ b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/query/DynamoDBEntityWithHashKeyOnlyCriteria.java @@ -15,12 +15,16 @@ */ package org.socialsignin.spring.data.dynamodb.repository.query; +import static java.util.stream.Collectors.joining; + import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression; import com.amazonaws.services.dynamodbv2.model.ComparisonOperator; import com.amazonaws.services.dynamodbv2.model.Condition; import com.amazonaws.services.dynamodbv2.model.QueryRequest; import com.amazonaws.services.dynamodbv2.model.Select; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.socialsignin.spring.data.dynamodb.core.DynamoDBOperations; import org.socialsignin.spring.data.dynamodb.query.CountByHashKeyQuery; import org.socialsignin.spring.data.dynamodb.query.MultipleEntityQueryRequestQuery; @@ -40,6 +44,8 @@ */ public class DynamoDBEntityWithHashKeyOnlyCriteria extends AbstractDynamoDBQueryCriteria { + private static final Logger LOGGER = LoggerFactory.getLogger(DynamoDBEntityWithHashKeyOnlyCriteria.class); + private DynamoDBEntityInformation entityInformation; public DynamoDBEntityWithHashKeyOnlyCriteria(DynamoDBEntityInformation entityInformation, @@ -117,6 +123,10 @@ public DynamoDBScanExpression buildScanExpression() { scanExpression.setProjectionExpression(projection.get()); } limit.ifPresent(scanExpression::setLimit); + + LOGGER.warn("Executing Scan for table '{}' when querying by <{}>", entityInformation.getDynamoDBTableName(), + attributeConditions.keySet().stream().collect(joining(", "))); + return scanExpression; }