diff --git a/build.gradle.kts b/build.gradle.kts index aec20a49..71f699a0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "org.veupathdb.lib.s3" -version = "0.10.1" +version = "0.10.2" java { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/objects/S3Object.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/objects/S3Object.kt index 0b9386a2..3aeba936 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/objects/S3Object.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/objects/S3Object.kt @@ -28,8 +28,17 @@ interface S3Object : ObjectResponse { /** * Object ETag value. + * + * * v0.10.2 + * [https://github.com/VEuPathDB/lib-s34k/issues/16] + * + * Changed this field to nullable. + * + * This field is null when there is an error parsing the XML response from + * MinIO. The MinIO java client emits a warning in this case and sets the + * returned object's ETag value to null instead of throwing an error. */ - val eTag: String + val eTag: String? /** * Object tag management container. diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/ExistsParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/ExistsParams.kt index 8bd1f306..0f1f7a6e 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/ExistsParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/ExistsParams.kt @@ -20,4 +20,14 @@ interface ExistsParams : RegionRequestParams { * bucket or object exists in the S3 store. */ var callback: ((exists: Boolean) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketGetParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketGetParams.kt index 6be16343..3797102b 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketGetParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketGetParams.kt @@ -20,4 +20,14 @@ interface BucketGetParams : RegionRequestParams { * store if the target bucket exists, otherwise `null`. */ var callback: ((bucket: S3Bucket?) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketListParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketListParams.kt index 8a84e88c..afe33c6f 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketListParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/bucket/BucketListParams.kt @@ -20,4 +20,14 @@ interface BucketListParams : S3RequestParams { * store. */ var callback: ((buckets: BucketList) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectGetParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectGetParams.kt index a36f80f0..fcac95d5 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectGetParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectGetParams.kt @@ -20,4 +20,14 @@ interface ObjectGetParams : RegionRequestParams { * object exists, otherwise it will be passed a `null` value. */ var callback: ((handle: S3Object?) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListAllParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListAllParams.kt index 5e17ea4a..f9f9ffb0 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListAllParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListAllParams.kt @@ -12,4 +12,14 @@ interface ObjectListAllParams : RegionRequestParams { * The callback will be passed an [ObjectList] value. */ var callback: ((objects: ObjectList) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListParams.kt index 1e1e52b7..70fbfad3 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectListParams.kt @@ -21,4 +21,14 @@ interface ObjectListParams : RegionRequestParams { * This callback will be passed a list of objects retrieved from the store. */ var callback: ((ObjectList) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectOpenParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectOpenParams.kt index 12655733..0cf25064 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectOpenParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectOpenParams.kt @@ -21,4 +21,14 @@ interface ObjectOpenParams : RegionRequestParams { * object does not exist, this callback will be passed a `null` value. */ var callback: ((StreamObject?) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStatParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStatParams.kt index 78917b3d..725a8e08 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStatParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStatParams.kt @@ -19,4 +19,14 @@ interface ObjectStatParams : RegionRequestParams { * This callback will be passed the metadata returned for the target object. */ var callback: ((ObjectMeta?) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamAllParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamAllParams.kt index d48e940b..1f7f212a 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamAllParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamAllParams.kt @@ -3,6 +3,11 @@ package org.veupathdb.lib.s3.s34k.params.`object` import org.veupathdb.lib.s3.s34k.objects.ObjectStream import org.veupathdb.lib.s3.s34k.params.RegionRequestParams +/** + * Parameters that control a request to stream all objects from S3. + * + * @since v0.10.0 + */ interface ObjectStreamAllParams : RegionRequestParams { /** diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamParams.kt index ef9fa8da..0da95d39 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/ObjectStreamParams.kt @@ -4,6 +4,11 @@ import org.veupathdb.lib.s3.s34k.objects.ObjectContainer import org.veupathdb.lib.s3.s34k.objects.ObjectStream import org.veupathdb.lib.s3.s34k.params.RegionRequestParams +/** + * Parameters that control a request to stream a subset of objects from S3. + * + * @since v0.10.0 + */ interface ObjectStreamParams : RegionRequestParams { /** diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/SubPathListParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/SubPathListParams.kt index 771928f2..9917ae73 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/SubPathListParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/object/SubPathListParams.kt @@ -3,6 +3,9 @@ package org.veupathdb.lib.s3.s34k.params.`object` import org.veupathdb.lib.s3.s34k.SubPathListing import org.veupathdb.lib.s3.s34k.params.RegionRequestParams +/** + * @since v0.1.0 + */ interface SubPathListParams : RegionRequestParams { /** @@ -22,4 +25,14 @@ interface SubPathListParams : RegionRequestParams { * This callback will be passed a list of objects retrieved from the store. */ var callback: ((SubPathListing) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file diff --git a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/tag/TagGetParams.kt b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/tag/TagGetParams.kt index 34f13e97..fe2ed260 100644 --- a/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/tag/TagGetParams.kt +++ b/src/main/kotlin/org/veupathdb/lib/s3/s34k/params/tag/TagGetParams.kt @@ -20,4 +20,14 @@ interface TagGetParams : RegionRequestParams { * from the target. */ var callback: ((TagMap) -> Unit)? + + /** + * Controls the number of retry attempts that will be made on an exception + * while reading from S3. + * + * Defaults to 1. + * + * @since v0.11.0 + */ + var retries: Int } \ No newline at end of file