You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jclouds.apache.org by Jean Helou <se...@byjean.eu> on 2018/11/05 09:25:00 UTC

Re: NullPointer in BlobStore#streamBlob using RegionScopedSwiftBlobStore (2.1.1)

thanks for your answers, we have indeed abandonned streamBlob because of
the issues outlined in my original email and go through  getBlob

jean

Le mar. 16 oct. 2018 à 08:20, Andrew Gaul <ga...@apache.org> a écrit :

> 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
> http://gaul.org/
>