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 <g...@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/
>

Reply via email to