Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
d185260
Add support for ConsumedCapacity in a BatchWrite request
ragnar9780 Aug 3, 2024
1d72986
Added changelog
ragnar9780 Aug 3, 2024
a093d60
Merge branch 'master' into master
prateek-vats Aug 6, 2024
833dfcf
Merge branch 'master' into master
prateek-vats Aug 6, 2024
35ecbaa
Merge branch 'master' into master
prateek-vats Aug 8, 2024
4430299
Merge branch 'master' into master
prateek-vats Aug 10, 2024
a7bd547
Add support for consumed capacity in transactWriteItems
ragnar9780 Aug 10, 2024
aa5aa3b
Revert "Add support for consumed capacity in transactWriteItems"
ragnar9780 Aug 12, 2024
46f9798
Add support for consumed capacity in transactWriteItems
ragnar9780 Aug 10, 2024
26e5025
Revert "Added changelog"
ragnar9780 Aug 12, 2024
6827050
Revert "Add support for ConsumedCapacity in a BatchWrite request"
ragnar9780 Aug 12, 2024
d5a7ebe
Refactor the Consumed Capacity changes to make them backward compatible
ragnar9780 Aug 12, 2024
205c4ef
Fix doc comments
ragnar9780 Aug 12, 2024
9dded9f
Fix formatting and change Objects.hash usage to Objects.hashCode
ragnar9780 Aug 17, 2024
7c43f11
dependency fix
ragnar9780 Aug 17, 2024
5d9dd48
Merge branch 'master' into consumed-capacity-transact-write-item
prateek-vats Aug 17, 2024
405d256
Fix javadoc comments
ragnar9780 Aug 17, 2024
838d942
Merge branch 'master' into consumed-capacity-transact-write-item
prateek-vats Aug 20, 2024
d554084
Merge branch 'master' into consumed-capacity-transact-write-item
prateek-vats Aug 21, 2024
8cbc4c5
Merge branch 'master' into consumed-capacity-transact-write-item
prateek-vats Aug 22, 2024
1b83456
pull changes from https://github.com/aws/aws-sdk-java-v2/commit/4d5c5…
ragnar9780 Aug 23, 2024
e782dfd
Merge remote-tracking branch 'origin/consumed-capacity-transact-write…
ragnar9780 Aug 23, 2024
00cf2c5
Merge branch 'master' into consumed-capacity-transact-write-item
prateek-vats Aug 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import software.amazon.awssdk.enhanced.dynamodb.model.BatchWriteResult;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactGetItemsEnhancedRequest;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactWriteItemsEnhancedRequest;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactWriteItemsEnhancedResponse;
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;

@SdkInternalApi
Expand Down Expand Up @@ -104,7 +105,7 @@ public CompletableFuture<List<Document>> transactGetItems(
@Override
public CompletableFuture<Void> transactWriteItems(TransactWriteItemsEnhancedRequest request) {
TransactWriteItemsOperation operation = TransactWriteItemsOperation.create(request);
return operation.executeAsync(dynamoDbClient, extension);
return operation.executeAsync(dynamoDbClient, extension).thenApply(r -> null);
}

@Override
Expand All @@ -116,6 +117,21 @@ public CompletableFuture<Void> transactWriteItems(
return transactWriteItems(builder.build());
}

@Override
public CompletableFuture<TransactWriteItemsEnhancedResponse> transactWriteItemsWithResponse(
TransactWriteItemsEnhancedRequest request) {
TransactWriteItemsOperation operation = TransactWriteItemsOperation.create(request);
return operation.executeAsync(dynamoDbClient, extension);
}

@Override
public CompletableFuture<TransactWriteItemsEnhancedResponse> transactWriteItemsWithResponse(
Consumer<TransactWriteItemsEnhancedRequest.Builder> requestConsumer) {
TransactWriteItemsEnhancedRequest.Builder builder = TransactWriteItemsEnhancedRequest.builder();
requestConsumer.accept(builder);
return transactWriteItemsWithResponse(builder.build());
}

public DynamoDbAsyncClient dynamoDbAsyncClient() {
return dynamoDbClient;
}
Expand All @@ -139,8 +155,8 @@ public boolean equals(Object o) {

DefaultDynamoDbEnhancedAsyncClient that = (DefaultDynamoDbEnhancedAsyncClient) o;

if (dynamoDbClient != null ? ! dynamoDbClient.equals(that.dynamoDbClient)
: that.dynamoDbClient != null) {
if (dynamoDbClient != null ? !dynamoDbClient.equals(that.dynamoDbClient)
: that.dynamoDbClient != null) {

return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import software.amazon.awssdk.enhanced.dynamodb.model.BatchWriteResult;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactGetItemsEnhancedRequest;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactWriteItemsEnhancedRequest;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactWriteItemsEnhancedResponse;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;

@SdkInternalApi
Expand Down Expand Up @@ -100,7 +101,8 @@ public List<Document> transactGetItems(
@Override
public Void transactWriteItems(TransactWriteItemsEnhancedRequest request) {
TransactWriteItemsOperation operation = TransactWriteItemsOperation.create(request);
return operation.execute(dynamoDbClient, extension);
operation.execute(dynamoDbClient, extension);
return null;
}

@Override
Expand All @@ -110,6 +112,20 @@ public Void transactWriteItems(Consumer<TransactWriteItemsEnhancedRequest.Builde
return transactWriteItems(builder.build());
}

@Override
public TransactWriteItemsEnhancedResponse transactWriteItemsWithResponse(TransactWriteItemsEnhancedRequest request) {
TransactWriteItemsOperation operation = TransactWriteItemsOperation.create(request);
return operation.execute(dynamoDbClient, extension);
}

@Override
public TransactWriteItemsEnhancedResponse transactWriteItemsWithResponse(
Consumer<TransactWriteItemsEnhancedRequest.Builder> requestConsumer) {
TransactWriteItemsEnhancedRequest.Builder builder = TransactWriteItemsEnhancedRequest.builder();
requestConsumer.accept(builder);
return transactWriteItemsWithResponse(builder.build());
}

public DynamoDbClient dynamoDbClient() {
return dynamoDbClient;
}
Expand All @@ -133,19 +149,19 @@ public boolean equals(Object o) {

DefaultDynamoDbEnhancedClient that = (DefaultDynamoDbEnhancedClient) o;

if (dynamoDbClient != null ? ! dynamoDbClient.equals(that.dynamoDbClient) : that.dynamoDbClient != null) {
if (dynamoDbClient != null ? !dynamoDbClient.equals(that.dynamoDbClient) : that.dynamoDbClient != null) {
return false;
}
return extension != null ?
extension.equals(that.extension) :
that.extension == null;
extension.equals(that.extension) :
that.extension == null;
}

@Override
public int hashCode() {
int result = dynamoDbClient != null ? dynamoDbClient.hashCode() : 0;
result = 31 * result + (extension != null ?
extension.hashCode() : 0);
extension.hashCode() : 0);
return result;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,17 @@
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactWriteItemsEnhancedRequest;
import software.amazon.awssdk.enhanced.dynamodb.model.TransactWriteItemsEnhancedResponse;
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
import software.amazon.awssdk.services.dynamodb.model.TransactWriteItemsRequest;
import software.amazon.awssdk.services.dynamodb.model.TransactWriteItemsResponse;

@SdkInternalApi
public class TransactWriteItemsOperation
implements DatabaseOperation<TransactWriteItemsRequest, TransactWriteItemsResponse, Void> {
implements DatabaseOperation<TransactWriteItemsRequest, TransactWriteItemsResponse, TransactWriteItemsEnhancedResponse> {

private TransactWriteItemsEnhancedRequest request;
private final TransactWriteItemsEnhancedRequest request;

private TransactWriteItemsOperation(TransactWriteItemsEnhancedRequest request) {
this.request = request;
Expand All @@ -49,18 +50,23 @@ public TransactWriteItemsRequest generateRequest(DynamoDbEnhancedClientExtension
return TransactWriteItemsRequest.builder()
.transactItems(this.request.transactWriteItems())
.clientRequestToken(this.request.clientRequestToken())
.returnConsumedCapacity(this.request.returnConsumedCapacity())
.returnItemCollectionMetrics(this.request.returnItemCollectionMetrics())
.build();
}

@Override
public Void transformResponse(TransactWriteItemsResponse response, DynamoDbEnhancedClientExtension extension) {
return null; // this operation does not return results
public TransactWriteItemsEnhancedResponse transformResponse(TransactWriteItemsResponse response,
DynamoDbEnhancedClientExtension extension) {
return TransactWriteItemsEnhancedResponse.builder()
.consumedCapacity(response.consumedCapacity())
.itemCollectionMetrics(response.itemCollectionMetrics())
.build();
}

@Override
public Function<TransactWriteItemsRequest, TransactWriteItemsResponse> serviceCall(
DynamoDbClient dynamoDbClient) {

return dynamoDbClient::transactWriteItems;
}

Expand Down
Loading