This PR creates a DataSegmentCopier interface, and corresponding S3DataSegmentCopier implementation. The goal here is to provide an alternative for those wishing to move datasegments around between clusters. These classes are used in a CLI tool for copying datasources between clusters that was similar to the older, now-deprecated migration tool and plan to release that to open-source soon as well.
This also adds the ability for these transfer tools to move segments larger than 5GB using an S3 Transfer Manager.
Description
Currently, Druid only provides a means of moving (deleting from the source) a datasegment from one deep storage location to another. This adds flexibility to copy instead, while refactoring the code between S3DataSegmentMover and S3DataSegmentCopier to be shared inside S3DataSegmentTransferUtility.
Release note
Allows data segments larger than 5GB to be copied in S3.
This PR creates a DataSegmentCopier interface, and corresponding S3DataSegmentCopier implementation. The goal here is to provide an alternative for those wishing to move datasegments around between clusters. These classes are used in a CLI tool for copying datasources between clusters that was similar to the older, now-deprecated migration tool and plan to release that to open-source soon as well.
This also adds the ability for these transfer tools to move segments larger than 5GB using an S3 Transfer Manager.
Description
Currently, Druid only provides a means of moving (deleting from the source) a datasegment from one deep storage location to another. This adds flexibility to copy instead, while refactoring the code between
S3DataSegmentMover
andS3DataSegmentCopier
to be shared insideS3DataSegmentTransferUtility
.Release note
Key changed/added classes in this PR
extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentCopier.java
extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentMover.java
extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentTransferUtility.java
extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentCopierTest.java
processing/src/main/java/org/apache/druid/segment/loading/DataSegmentCopier.java
This PR has: