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 + "'}";
   }
 

Reply via email to