/** * Deletes the table from DynamoDB. Involves network calls. */ public DeleteTableResult delete() { return client.deleteTable(tableName); }
/** * Deletes the table and ignores any errors if it doesn't exist. * @param dynamo The Dynamo client to use. * @param deleteTableRequest The delete table request. * @return True if deleted, false otherwise. */ public static final boolean deleteTableIfExists(final AmazonDynamoDB dynamo, final DeleteTableRequest deleteTableRequest) { try { dynamo.deleteTable(deleteTableRequest); return true; } catch (final ResourceNotFoundException e) { if (LOG.isTraceEnabled()) { LOG.trace("Table " + deleteTableRequest.getTableName() + " does not exist", e); } } return false; }
/** * Deletes the table. * @return The table decription. * @see com.amazonaws.services.dynamodbv2.AmazonDynamoDB#deleteTable * @see com.amazonaws.services.dynamodbv2.model.DeleteTableRequest */ public TableDescription deleteTable() { return db.deleteTable( mapper.generateDeleteTableRequest(model.targetType()) ).getTableDescription(); }
/** * Deletes the table from DynamoDB. Involves network calls. */ public DeleteTableResult delete() { return client.deleteTable(tableName); }
@Override public DeleteTableResult deleteTable(DeleteTableRequest request) throws AmazonServiceException, AmazonClientException { return getBackend().deleteTable(request); }
@Override public DeleteTableResult deleteTable(String tableName) throws AmazonServiceException, AmazonClientException { return getBackend().deleteTable(tableName); }
public static void dropTable(final AmazonDynamoDB dynamoClient, final String dynamoTable) throws Exception { if (dynamoTable != null) { LOG.info(String.format("Dropping Dynamo Table %s", dynamoTable)); try { dynamoClient.deleteTable(dynamoTable); waitForTableState(dynamoClient, dynamoTable, TableStatus.DELETING); } catch (ResourceNotFoundException e) { LOG.info("OK - Table Not Found"); } } }
/** * Deletes the table and ignores any errors if it doesn't exist. * @param dynamo The Dynamo client to use. * @param deleteTableRequest The delete table request. * @return True if deleted, false otherwise. */ public static final boolean deleteTableIfExists(final AmazonDynamoDB dynamo, final DeleteTableRequest deleteTableRequest) { try { dynamo.deleteTable(deleteTableRequest); return true; } catch (final ResourceNotFoundException e) { if (LOG.isTraceEnabled()) { LOG.trace("Table " + deleteTableRequest.getTableName() + " does not exist", e); } } return false; }
/** * Deletes the table. * @return The table decription. * @see com.amazonaws.services.dynamodbv2.AmazonDynamoDB#deleteTable * @see com.amazonaws.services.dynamodbv2.model.DeleteTableRequest */ public TableDescription deleteTable() { return db.deleteTable( mapper.generateDeleteTableRequest(model.targetType()) ).getTableDescription(); }
/** * Executes a delete table request using the DynamoDB client * * @param pTableName */ public void executeDeleteTableRequest(String pTableName) { try { DeleteTableRequest deleteTableRequest = new DeleteTableRequest() .withTableName(pTableName); DeleteTableResult result = getDynamoDBClient().deleteTable( deleteTableRequest); waitForTableToBeDeleted(pTableName); LOG.debug("Schema: " + result.getTableDescription() + " deleted successfully."); } catch (Exception e) { LOG.debug("Schema: {} deleted.", pTableName, e.getMessage()); throw new RuntimeException(e); } }
/** * Deletes the main table from AWS DynamoDB. * @param appid name of the {@link com.erudika.para.core.App} * @return true if deleted */ public static boolean deleteTable(String appid) { if (StringUtils.isBlank(appid) || !existsTable(appid)) { return false; } try { String table = getTableNameForAppid(appid); getClient().deleteTable(new DeleteTableRequest().withTableName(table)); logger.info("Deleted DynamoDB table '{}'.", table); } catch (Exception e) { logger.error(null, e); return false; } return true; }
/** * Deletes the main table from AWS DynamoDB. * @param appid name of the {@link com.erudika.para.core.App} * @return true if deleted */ public static boolean deleteTable(String appid) { if (StringUtils.isBlank(appid) || !existsTable(appid)) { return false; } try { String table = getTableNameForAppid(appid); getClient().deleteTable(new DeleteTableRequest().withTableName(table)); logger.info("Deleted DynamoDB table '{}'.", table); } catch (Exception e) { logger.error(null, e); return false; } return true; }
public DeleteTableResult deleteTable(final DeleteTableRequest request) throws BackendException { controlPlaneRateLimiter.acquire(); final Timer.Context apiTimerContext = getTimerContext(DELETE_TABLE, request.getTableName()); DeleteTableResult result; try { result = client.deleteTable(request); } catch (Exception e) { throw processDynamoDbApiException(e, DELETE_TABLE, request.getTableName()); } finally { apiTimerContext.stop(); } return result; }
@Override public void execute() throws MetaModelException { final String tableName = getTable().getName(); final DeleteTableResult result = _dataContext.getDynamoDb().deleteTable(tableName); logger.debug("Dropped table {} in request ID: {}", tableName, result.getSdkResponseMetadata().getRequestId()); }
@Test public void delete_whenTableDoesNotExist_doesNothing() { DeleteDynamoDBTable deleteDynamoDBTable = new DeleteDynamoDBTable(dynamoDB, "asdf", "asdf"); //setup when(dynamoDB.deleteTable("asdf")).thenThrow(new ResourceNotFoundException("")); //test deleteDynamoDBTable.delete(); //verify verify(dynamoDB).deleteTable("asdf"); } }
@Test public void delete_whenTableAlreadyExists_deletesTable() { DeleteDynamoDBTable deleteDynamoDBTable = new DeleteDynamoDBTable(dynamoDB, "asdf", "asdf"); //setup when(dynamoDB.deleteTable("asdf")).thenReturn(new DeleteTableResult()); when(dynamoDB.waiters()).thenReturn(waiters); when(waiters.tableNotExists()).thenReturn(tableNotExists); doNothing().when(tableNotExists).run(any()); when(dynamoDB.describeTable("asdf")).thenThrow(new ResourceNotFoundException("")); //test deleteDynamoDBTable.delete(); //verify verify(dynamoDB).deleteTable("asdf"); verify(tableNotExists).run(any()); }
/** * Drop table. * @throws InterruptedException If something fails */ public void drop() throws InterruptedException { final AmazonDynamoDB aws = this.region.aws(); final String name = this.request.getTableName(); aws.deleteTable(new DeleteTableRequest().withTableName(name)); Logger.info(this, "DynamoDB table '%s' deletion requested", name); while (this.exists()) { Logger.info(this, "DynamoDB table '%s' still exists", name); TimeUnit.SECONDS.sleep((long) Tv.TEN); } Logger.info(this, "DynamoDB table '%s' deleted", name); }
/** * Drop table. * @throws InterruptedException If something fails */ public void drop() throws InterruptedException { final AmazonDynamoDB aws = this.region.aws(); final String name = this.request.getTableName(); aws.deleteTable(new DeleteTableRequest().withTableName(name)); Logger.info(this, "DynamoDB table '%s' deletion requested", name); while (this.exists()) { Logger.info(this, "DynamoDB table '%s' still exists", name); TimeUnit.SECONDS.sleep((long) Tv.TEN); } Logger.info(this, "DynamoDB table '%s' deleted", name); }
@Test public void delete_whenTableNotExistsWaiterThrows_deletesTableAndThrows() { DeleteDynamoDBTable deleteDynamoDBTable = new DeleteDynamoDBTable(dynamoDB, "asdf", "asdf"); //setup when(dynamoDB.deleteTable("asdf")).thenReturn(new DeleteTableResult()); when(dynamoDB.waiters()).thenReturn(waiters); when(waiters.tableNotExists()).thenReturn(tableNotExists); doThrow(new IllegalArgumentException()).when(tableNotExists).run(any()); when(dynamoDB.describeTable("asdf")).thenThrow(new ResourceNotFoundException("")); //test try { deleteDynamoDBTable.delete(); fail(); } catch(IllegalStateException e) { //verify exception assertTrue(e.getCause() instanceof IllegalArgumentException); } verify(dynamoDB).deleteTable("asdf"); verify(tableNotExists).run(any()); }
@After public void tearDown() throws Exception { try { s3.listObjects(bucketName).getObjectSummaries().forEach(summary -> { s3.deleteObject(summary.getBucketName(), summary.getKey()); }); } catch (Exception e) { LOGGER.warn("Failed to delete objects from s3. Ignoring on tearDown: ", e); } try { s3.deleteBucket(bucketName); } catch (Exception e) { LOGGER.warn("Failed to delete bucket " + bucketName + ". Ignoring on tearDown: ", e); } try { kinesis.deleteStream(kinesisStreamName); } catch (AmazonClientException e) { LOGGER.warn("Failed to delete stream " + kinesisStreamName + ". Ignoring on tearDown: ", e); } try { dynamoDb.deleteTable("kinesis-recorder-" + kinesisStreamName); } catch (Exception e) { LOGGER.warn("Failed to delete kinesis leasing table kinesis-recorder-" + kinesisStreamName + ". Ignoring on tearDown: ", e); } executorService.shutdown(); executorService.awaitTermination(10, TimeUnit.SECONDS); }