List of usage examples for com.amazonaws.services.dynamodbv2.model DeleteRequest DeleteRequest
public DeleteRequest(java.util.Map<String, AttributeValue> key)
From source file:com.dell.doradus.db.s3.DynamoDBService2.java
License:Apache License
public void commit(DBTransaction dbTran) { Timer t = new Timer(); List<WriteRequest> list = new ArrayList<>(); for (ColumnUpdate mutation : dbTran.getColumnUpdates()) { Map<String, AttributeValue> item = getPrimaryKey(mutation.getStoreName() + "_" + mutation.getRowKey(), mutation.getColumn().getName()); byte[] value = mutation.getColumn().getRawValue(); if (value.length == 0) value = EMPTY_VALUE;/* w w w. j av a2 s. c o m*/ item.put("value", new AttributeValue().withB(ByteBuffer.wrap(value))); list.add(new WriteRequest().withPutRequest(new PutRequest(item))); if (list.size() >= 25) { commitPartial(list); } } for (ColumnDelete mutation : dbTran.getColumnDeletes()) { Map<String, AttributeValue> item = getPrimaryKey(mutation.getStoreName() + "_" + mutation.getRowKey(), mutation.getColumnName()); list.add(new WriteRequest().withDeleteRequest(new DeleteRequest(item))); if (list.size() >= 25) { commitPartial(list); } } for (RowDelete mutation : dbTran.getRowDeletes()) { for (DColumn c : getColumnSlice(mutation.getStoreName(), mutation.getRowKey(), null, null)) { Map<String, AttributeValue> item = getPrimaryKey( mutation.getStoreName() + "_" + mutation.getRowKey(), c.getName()); list.add(new WriteRequest().withDeleteRequest(new DeleteRequest(item))); if (list.size() >= 25) { commitPartial(list); } } } if (list.size() > 0) { commitPartial(list); } m_logger.debug("Committed transaction to {} in {}", getTenant().getName(), t); }