Skip to content

Commit b887f82

Browse files
zongwei007fhussonnois
authored andcommitted
When the value is null, ignore the S3 Metadata attribute
Check for nullable attributes to avoid NPE in ConnectSchemaMapper.
1 parent b53fabc commit b887f82

File tree

1 file changed

+6
-2
lines changed
  • connect-file-pulse-filesystems/filepulse-amazons3-fs/src/main/java/io/streamthoughts/kafka/connect/filepulse/fs

1 file changed

+6
-2
lines changed

connect-file-pulse-filesystems/filepulse-amazons3-fs/src/main/java/io/streamthoughts/kafka/connect/filepulse/fs/AmazonS3Storage.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.net.URI;
2424
import java.util.HashMap;
2525
import java.util.Objects;
26+
import java.util.Optional;
2627
import org.slf4j.Logger;
2728
import org.slf4j.LoggerFactory;
2829

@@ -257,8 +258,11 @@ private static FileObjectMeta createFileObjectMeta(final S3BucketKey s3Object,
257258
objectMetadata.getUserMetadata().forEach((k, v) -> userDefinedMetadata.put("s3.object.user.metadata." + k, v));
258259
userDefinedMetadata.put("s3.object.summary.bucketName", s3Object.bucketName());
259260
userDefinedMetadata.put("s3.object.summary.key", s3Object.key());
260-
userDefinedMetadata.put("s3.object.summary.etag", objectMetadata.getETag());
261-
userDefinedMetadata.put("s3.object.summary.storageClass", objectMetadata.getStorageClass());
261+
262+
Optional.ofNullable(objectMetadata.getETag())
263+
.ifPresent(it -> userDefinedMetadata.put("s3.object.summary.etag", it));
264+
Optional.ofNullable(objectMetadata.getStorageClass())
265+
.ifPresent(it -> userDefinedMetadata.put("s3.object.summary.storageClass", it));
262266

263267
final String contentMD5 = objectMetadata.getETag();
264268

0 commit comments

Comments
 (0)