This is an automated email from the ASF dual-hosted git repository.
briansolo1985 pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/support/nifi-1.x by this push:
new 0d52032d9c NIFI-13404: recreate s3Object before returning input stream
0d52032d9c is described below
commit 0d52032d9ce61e017f66a1ee4f86add4e3ad6d62
Author: greg-anetac <[email protected]>
AuthorDate: Fri Jun 14 14:08:15 2024 -0700
NIFI-13404: recreate s3Object before returning input stream
Signed-off-by: Ferenc Kis <[email protected]>
This closes #9384.
---
.../minifi/c2/cache/s3/S3WritableConfiguration.java | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git
a/minifi/minifi-c2/minifi-c2-cache/minifi-c2-cache-s3/src/main/java/org/apache/nifi/minifi/c2/cache/s3/S3WritableConfiguration.java
b/minifi/minifi-c2/minifi-c2-cache/minifi-c2-cache-s3/src/main/java/org/apache/nifi/minifi/c2/cache/s3/S3WritableConfiguration.java
index 7bcf0a668b..f4c366edb1 100644
---
a/minifi/minifi-c2/minifi-c2-cache/minifi-c2-cache-s3/src/main/java/org/apache/nifi/minifi/c2/cache/s3/S3WritableConfiguration.java
+++
b/minifi/minifi-c2/minifi-c2-cache/minifi-c2-cache-s3/src/main/java/org/apache/nifi/minifi/c2/cache/s3/S3WritableConfiguration.java
@@ -29,10 +29,10 @@ import
org.apache.nifi.minifi.c2.api.ConfigurationProviderException;
import org.apache.nifi.minifi.c2.api.cache.WriteableConfiguration;
public class S3WritableConfiguration implements WriteableConfiguration {
-
private final AmazonS3 s3;
- private final S3Object s3Object;
private final String version;
+ private final String bucketName;
+ private final String objectKey;
/**
* Creates a new S3 writable configuration.
@@ -43,7 +43,8 @@ public class S3WritableConfiguration implements
WriteableConfiguration {
public S3WritableConfiguration(AmazonS3 s3, S3ObjectSummary s3ObjectSummary,
String version) {
this.s3 = s3;
- this.s3Object = s3.getObject(s3ObjectSummary.getBucketName(),
s3ObjectSummary.getKey());
+ this.bucketName = s3ObjectSummary.getBucketName();
+ this.objectKey = s3ObjectSummary.getKey();
this.version = version;
}
@@ -55,9 +56,9 @@ public class S3WritableConfiguration implements
WriteableConfiguration {
* @param version The version of the configuration.
*/
public S3WritableConfiguration(AmazonS3 s3, S3Object s3Object, String
version) {
-
this.s3 = s3;
- this.s3Object = s3Object;
+ this.bucketName = s3Object.getBucketName();
+ this.objectKey = s3Object.getKey();
this.version = version;
}
@@ -69,32 +70,34 @@ public class S3WritableConfiguration implements
WriteableConfiguration {
@Override
public boolean exists() {
- return s3.doesObjectExist(s3Object.getBucketName(), s3Object.getKey());
+ return s3.doesObjectExist(bucketName, objectKey);
}
@Override
public OutputStream getOutputStream() throws ConfigurationProviderException {
+ S3Object s3Object = s3.getObject(bucketName, objectKey);
return new S3OutputStream(s3Object.getBucketName(), s3Object.getKey(), s3);
}
@Override
public InputStream getInputStream() throws ConfigurationProviderException {
+ S3Object s3Object = s3.getObject(bucketName, objectKey);
return s3Object.getObjectContent();
}
@Override
public URL getURL() throws ConfigurationProviderException {
- return s3.getUrl(s3Object.getBucketName(), s3Object.getKey());
+ return s3.getUrl(bucketName, objectKey);
}
@Override
public String getName() {
- return s3Object.getKey();
+ return objectKey;
}
@Override
public String toString() {
- return "FileSystemWritableConfiguration{objectKey=" + s3Object.getKey()
+ return "FileSystemWritableConfiguration{objectKey=" + objectKey
+ ", version='" + version + "'}";
}