jclouds-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Gaul <g...@apache.org>
Subject Re: NullPointer in BlobStore#streamBlob using RegionScopedSwiftBlobStore (2.1.1)
Date Tue, 16 Oct 2018 06:20:39 GMT
On Wed, Aug 22, 2018 at 11:33:48AM +0200, Jean Helou wrote:
> Hello,
> I am currently working on integrating JClouds to create a blobstore storage
> for apache james. I noticed that using
>     blobStore.streamBlob("container", "wrongid");
> yields a NullPointerException when trying to access a blob which doesn't
> exist. The NPE is raised in RegionScopedSwiftBlobStore when the streamBlob
> method tries to read the blob metadata.
> I think it should null check and return null or an empty inputstream but
> not raise an NPE
> see https://github.com/jclouds/jclouds
> /blob/46759f8bda00f86ef934345846e22e2bd2b0d7ae/apis/openstack-swift/src/main/java/org/
> jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java#L691
> for now I work around by using
>     blobStore.getBlob("container","id");
> doing the nullcheck myself and then getting the inputstream from the blob's
> payload.

Sorry for the late reply but I find the implementation of
BlobStore.streamBlob confusing since it lives in the portable
abstraction yet only has one implementation.  I recommend using getBlob
which actually does stream the payload.

Andrew Gaul

View raw message