jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rishika (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCLOUDS-1279) Extending AWSS3BlobStore is not possible because of default access specifier
Date Wed, 26 Apr 2017 01:24:04 GMT

    [ https://issues.apache.org/jira/browse/JCLOUDS-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983964#comment-15983964
] 

Rishika commented on JCLOUDS-1279:
----------------------------------

I basically want to override putMultiPartBlob (in BaseBlobStore) to use custom min, max and
default MPU part sizes that we agree upon with our customers. Currently the class MultipartUploadSlicingAlgorithm
has been declared final, blocking us from setting custom values. I do agree we have recommendations
from various cloud providers to be adhered to, but we give flexibility to our customers to
decide value they want to within these limits.

> Extending AWSS3BlobStore is not possible because of default access specifier 
> -----------------------------------------------------------------------------
>
>                 Key: JCLOUDS-1279
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1279
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-blobstore
>    Affects Versions: 2.0.0, 2.0.1
>         Environment: RHEL 7.2, Java 1.7
>            Reporter: Rishika
>             Fix For: 2.1.0, 2.0.2
>
>
> methods (constructor) in  AWSS3BlobStore are all package protected with default access
specifier and cannot be easily extended. This hinders us to create Custom blobstore outside
jClouds.
> {code:java}
>    @Inject
>    AWSS3BlobStore(BlobStoreContext context, BlobUtils blobUtils, Supplier<Location>
defaultLocation,
>             @Memoized Supplier<Set<? extends Location>> locations, PayloadSlicer
slicer, AWSS3Client sync,
>             Function<Set<BucketMetadata>, PageSet<? extends StorageMetadata>>
convertBucketsToStorageMetadata,
>             ContainerToBucketListOptions container2BucketListOptions, BucketToResourceList
bucket2ResourceList,
>             ObjectToBlob object2Blob, BlobToHttpGetOptions blob2ObjectGetOptions, BlobToObject
blob2Object,
>             BlobToObjectMetadata blob2ObjectMetadata,
>             ObjectToBlobMetadata object2BlobMd, Provider<FetchBlobMetadata> fetchBlobMetadataProvider)
{
>       super(context, blobUtils, defaultLocation, locations, slicer, sync, convertBucketsToStorageMetadata,
>                container2BucketListOptions, bucket2ResourceList, object2Blob, blob2ObjectGetOptions,
blob2Object,
>                blob2ObjectMetadata, object2BlobMd, fetchBlobMetadataProvider);
>       this.blob2Object = blob2Object;
>    }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message