forked from lsmyrnaios/UrlsController
Add an extra precaution-check to allow the emptying or deletion of an S3-Object-Store bucket, only when the app runs in "TestEnvironment".
This commit is contained in:
parent
f89730f196
commit
c9f33d3afa
|
@ -333,7 +333,7 @@ public class UrlController {
|
|||
logger.error(errorMsg, e);
|
||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorMsg);
|
||||
} finally {
|
||||
logger.debug("Deleting directory: " + currentParquetPath);
|
||||
logger.debug("Deleting parquet directory: " + currentParquetPath);
|
||||
FileUtils.deleteDirectory(new File(currentParquetPath));
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,9 @@ public class S3ObjectStore {
|
|||
@Value("${services.pdfaggregation.controller.s3.shouldShowAllS3Buckets}")
|
||||
private boolean shouldShowAllS3Buckets = false;
|
||||
|
||||
@Value("${services.pdfaggregation.controller.isTestEnvironment}")
|
||||
private boolean isTestEnvironment = false;
|
||||
|
||||
private MinioClient minioClient;
|
||||
|
||||
|
||||
|
@ -45,10 +48,8 @@ public class S3ObjectStore {
|
|||
boolean bucketExists = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
|
||||
|
||||
// Keep this commented-out to avoid objects-deletion by accident. The code is open-sourced, so it's easy to enable this ability if we really want it (e.g. for testing).
|
||||
if ( bucketExists && shouldEmptyBucket ) {
|
||||
if ( shouldEmptyBucket && isTestEnvironment && bucketExists )
|
||||
emptyBucket(bucketName, false);
|
||||
//throw new RuntimeException("stop just for test!");
|
||||
}
|
||||
|
||||
// Make the bucket, if not exist.
|
||||
if ( !bucketExists ) {
|
||||
|
@ -72,7 +73,7 @@ public class S3ObjectStore {
|
|||
}
|
||||
|
||||
|
||||
private final Pattern EXTENSION_PATTERN = Pattern.compile("(\\.[^.]+)$");
|
||||
private static final Pattern EXTENSION_PATTERN = Pattern.compile("(\\.[^.]+)$");
|
||||
|
||||
/**
|
||||
* @param fileObjKeyName = "**File object key name**";
|
||||
|
@ -117,7 +118,7 @@ public class S3ObjectStore {
|
|||
|
||||
|
||||
public void emptyBucket(String bucketName, boolean shouldDeleteBucket) throws Exception {
|
||||
logger.warn("Going to " + (shouldDeleteBucket ? "delete" : "empty") + " bucket \"" + bucketName + "\"");
|
||||
logger.warn("Going to " + (shouldDeleteBucket ? "delete" : "empty") + " bucket \"" + bucketName + "\"!");
|
||||
|
||||
// First list the objects of the bucket.
|
||||
Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName).build());
|
||||
|
|
Loading…
Reference in New Issue