@@ -141,31 +141,29 @@ class DynamoDBKVStoreImpl(dynamoDbClient: DynamoDbClient) extends KVStore {
141
141
// timestamp to use for all get responses when the underlying tables don't have a ts field
142
142
val defaultTimestamp = Instant .now().toEpochMilli
143
143
144
- val getItemResults = getItemRequestPairs.map {
145
- case (req, getItemReq) =>
146
- Future {
147
- readRateLimiters.computeIfAbsent(req.dataset, _ => RateLimiter .create(defaultReadCapacityUnits)).acquire()
148
- val item : Try [util.Map [String , AttributeValue ]] =
149
- handleDynamoDbOperation(metricsContext.withSuffix(" multiget" ), req.dataset) {
150
- dynamoDbClient.getItem(getItemReq).item()
151
- }
152
-
153
- val response = item.map(i => List (i).asJava)
154
- val resultValue : Try [Seq [TimedValue ]] = extractTimedValues(response, defaultTimestamp)
155
- GetResponse (req, resultValue)
156
- }
144
+ val getItemResults = getItemRequestPairs.map { case (req, getItemReq) =>
145
+ Future {
146
+ readRateLimiters.computeIfAbsent(req.dataset, _ => RateLimiter .create(defaultReadCapacityUnits)).acquire()
147
+ val item : Try [util.Map [String , AttributeValue ]] =
148
+ handleDynamoDbOperation(metricsContext.withSuffix(" multiget" ), req.dataset) {
149
+ dynamoDbClient.getItem(getItemReq).item()
150
+ }
151
+
152
+ val response = item.map(i => List (i).asJava)
153
+ val resultValue : Try [Seq [TimedValue ]] = extractTimedValues(response, defaultTimestamp)
154
+ GetResponse (req, resultValue)
155
+ }
157
156
}
158
157
159
- val queryResults = queryRequestPairs.map {
160
- case (req, queryRequest) =>
161
- Future {
162
- readRateLimiters.computeIfAbsent(req.dataset, _ => RateLimiter .create(defaultReadCapacityUnits)).acquire()
163
- val responses = handleDynamoDbOperation(metricsContext.withSuffix(" query" ), req.dataset) {
164
- dynamoDbClient.query(queryRequest).items()
165
- }
166
- val resultValue : Try [Seq [TimedValue ]] = extractTimedValues(responses, defaultTimestamp)
167
- GetResponse (req, resultValue)
158
+ val queryResults = queryRequestPairs.map { case (req, queryRequest) =>
159
+ Future {
160
+ readRateLimiters.computeIfAbsent(req.dataset, _ => RateLimiter .create(defaultReadCapacityUnits)).acquire()
161
+ val responses = handleDynamoDbOperation(metricsContext.withSuffix(" query" ), req.dataset) {
162
+ dynamoDbClient.query(queryRequest).items()
168
163
}
164
+ val resultValue : Try [Seq [TimedValue ]] = extractTimedValues(responses, defaultTimestamp)
165
+ GetResponse (req, resultValue)
166
+ }
169
167
}
170
168
171
169
Future .sequence(getItemResults ++ queryResults)
@@ -224,20 +222,18 @@ class DynamoDBKVStoreImpl(dynamoDbClient: DynamoDbClient) extends KVStore {
224
222
(req.dataset, putItemReq)
225
223
}
226
224
227
- val futureResponses = datasetToWriteRequests.map {
228
- case (dataset, putItemRequest) =>
229
- Future {
230
- writeRateLimiters.computeIfAbsent(dataset, _ => RateLimiter .create(defaultWriteCapacityUnits)).acquire()
231
- handleDynamoDbOperation(metricsContext.withSuffix(" multiput" ), dataset) {
232
- dynamoDbClient.putItem(putItemRequest)
233
- }.isSuccess
234
- }
225
+ val futureResponses = datasetToWriteRequests.map { case (dataset, putItemRequest) =>
226
+ Future {
227
+ writeRateLimiters.computeIfAbsent(dataset, _ => RateLimiter .create(defaultWriteCapacityUnits)).acquire()
228
+ handleDynamoDbOperation(metricsContext.withSuffix(" multiput" ), dataset) {
229
+ dynamoDbClient.putItem(putItemRequest)
230
+ }.isSuccess
231
+ }
235
232
}
236
233
Future .sequence(futureResponses)
237
234
}
238
235
239
- /**
240
- * Implementation of bulkPut is currently a TODO for the DynamoDB store. This involves transforming the underlying
236
+ /** Implementation of bulkPut is currently a TODO for the DynamoDB store. This involves transforming the underlying
241
237
* Parquet data to Amazon's Ion format + swapping out old table for new (as bulkLoad only writes to new tables)
242
238
*/
243
239
override def bulkPut (sourceOfflineTable : String , destinationOnlineDataSet : String , partition : String ): Unit = ???
0 commit comments