Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public class SingularityS3UploaderFile {
private final Optional<Long> applyS3StorageClassAfterBytes;
private final boolean checkSubdirectories;
private final boolean compressBeforeUpload;
private final boolean checkIfOpen;

@JsonCreator
public static SingularityS3UploaderFile fromString(String value) {
Expand All @@ -30,6 +31,7 @@ public static SingularityS3UploaderFile fromString(String value) {
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.empty()
);
}
Expand All @@ -46,7 +48,8 @@ public SingularityS3UploaderFile(
"applyS3StorageClassAfterBytes"
) Optional<Long> applyS3StorageClassAfterBytes,
@JsonProperty("checkSubdirectories") Optional<Boolean> checkSubdirectories,
@JsonProperty("compressBeforeUpload") Optional<Boolean> compressBeforeUpload
@JsonProperty("compressBeforeUpload") Optional<Boolean> compressBeforeUpload,
@JsonProperty("checkIfOpen") Optional<Boolean> checkIfOpen
) {
this.filename = filename;
this.s3UploaderBucket = s3UploaderBucket;
Expand All @@ -57,6 +60,7 @@ public SingularityS3UploaderFile(
this.applyS3StorageClassAfterBytes = applyS3StorageClassAfterBytes;
this.checkSubdirectories = checkSubdirectories.orElse(false);
this.compressBeforeUpload = compressBeforeUpload.orElse(false);
this.checkIfOpen = checkIfOpen.orElse(true);
}

@Schema(description = "The name of the file")
Expand Down Expand Up @@ -130,6 +134,14 @@ public boolean isCompressBeforeUpload() {
return compressBeforeUpload;
}

@Schema(
title = "Check if matched files are open before processing them for upload",
defaultValue = "true"
)
public boolean isCheckIfOpen() {
return checkIfOpen;
}

@Override
public String toString() {
return (
Expand All @@ -153,6 +165,8 @@ public String toString() {
checkSubdirectories +
", compressBeforeUpload=" +
compressBeforeUpload +
", checkIfOpen=" +
checkIfOpen +
'}'
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,8 @@ private boolean writeS3MetadataFileForRotatedFiles(boolean finished) {
? additionalFile.getApplyS3StorageClassAfterBytes()
: taskDefinition.getExecutorData().getApplyS3StorageClassAfterBytes(),
additionalFile.isCheckSubdirectories(),
additionalFile.isCompressBeforeUpload()
additionalFile.isCompressBeforeUpload(),
additionalFile.isCheckIfOpen()
);
index++;
handledLogs.add(additionalFile.getFilename());
Expand All @@ -227,7 +228,8 @@ private boolean writeS3MetadataFileForRotatedFiles(boolean finished) {
taskDefinition.getExecutorData().getS3StorageClass(),
taskDefinition.getExecutorData().getApplyS3StorageClassAfterBytes(),
false,
false
false,
true
);
}

Expand Down Expand Up @@ -399,7 +401,8 @@ public boolean teardown() {
taskDefinition.getExecutorData().getS3StorageClass(),
taskDefinition.getExecutorData().getApplyS3StorageClassAfterBytes(),
false,
false
false,
true
);
}

Expand Down Expand Up @@ -681,7 +684,8 @@ private boolean writeS3MetadataFile(
Optional<String> s3StorageClass,
Optional<Long> applyS3StorageClassAfterBytes,
boolean checkSubdirectories,
boolean compressBeforeUpload
boolean compressBeforeUpload,
boolean checkIfOpen
) {
final String s3UploaderBucket = s3Bucket.orElse(
taskDefinition.getExecutorData().getDefaultS3Bucket()
Expand Down Expand Up @@ -713,6 +717,7 @@ private boolean writeS3MetadataFile(
Optional.of(finished),
Optional.of(checkSubdirectories),
Optional.of(compressBeforeUpload),
Optional.of(checkIfOpen),
Optional.empty(),
Collections.emptyMap(),
Optional.empty(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public class S3UploadMetadata {
private final Optional<Boolean> uploadImmediately;
private final boolean checkSubdirectories;
private final boolean compressBeforeUpload;
private final boolean checkIfOpen;
private final SingularityUploaderType uploaderType;
private final Map<String, Object> gcsCredentials;
private final Optional<String> gcsStorageClass;
Expand Down Expand Up @@ -82,6 +83,7 @@ public S3UploadMetadata(
@JsonProperty("uploadImmediately") Optional<Boolean> uploadImmediately,
@JsonProperty("checkSubdirectories") Optional<Boolean> checkSubdirectories,
@JsonProperty("compressBeforeUpload") Optional<Boolean> compressBeforeUpload,
@JsonProperty("checkIfOpen") Optional<Boolean> checkIfOpen,
@JsonProperty("uploaderType") Optional<SingularityUploaderType> uploaderType,
@JsonProperty("gcsCredentials") Map<String, Object> gcsCredentials,
@JsonProperty("gcsStorageClass") Optional<String> gcsStorageClass,
Expand All @@ -108,6 +110,7 @@ public S3UploadMetadata(
this.uploadImmediately = uploadImmediately;
this.checkSubdirectories = checkSubdirectories.orElse(false);
this.compressBeforeUpload = compressBeforeUpload.orElse(false);
this.checkIfOpen = checkIfOpen.orElse(true);
this.uploaderType = uploaderType.orElse(SingularityUploaderType.S3);
this.gcsCredentials =
gcsCredentials != null ? gcsCredentials : Collections.emptyMap();
Expand Down Expand Up @@ -218,6 +221,10 @@ public boolean isCompressBeforeUpload() {
return compressBeforeUpload;
}

public boolean isCheckIfOpen() {
return checkIfOpen;
}

public SingularityUploaderType getUploaderType() {
return uploaderType;
}
Expand Down Expand Up @@ -277,6 +284,8 @@ public String toString() {
checkSubdirectories +
", compressBeforeUpload=" +
compressBeforeUpload +
", checkIfOpen=" +
checkIfOpen +
", uploaderType=" +
uploaderType +
", gcsStorageClass=" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ int uploadBatch(List<Path> toUpload) {
final Path file = toUpload.get(i);
if (
!configuration.isCheckForOpenFiles() ||
!uploadMetadata.isCheckIfOpen() ||
uploadMetadata.isImmediate() ||
!isFileOpen(file, configuration.isCheckOpenFilesViaFuser())
) {
Expand Down