[
https://issues.apache.org/jira/browse/JCLOUDS-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16731779#comment-16731779
]
Andrew Gaul commented on JCLOUDS-1479:
--------------------------------------
It looks like {{createContainerInLocation}} should either invalidate or
populate {{containerCache}}. Could you investigate this and send a pull
request?
> Swift API throws Exception when getting blob from containers
> ------------------------------------------------------------
>
> Key: JCLOUDS-1479
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1479
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-labs-openstack
> Reporter: Trần Tiến Đức
> Priority: Major
>
> Hello, I am getting a weird behavior from swift api client. The scenario is:
> I have a blobStore object, invoking
> blobStore.createContainerInLocation(location, container) works well but
> checking container exists before creating container, then use that blobStore
> to get a blob throws an exception:
> {code:java}
> blobStore.createContainerInLocation(location, container);
> blobStore.getBlob(container, blobId); // workw well
> {code}
> {code:java}
> blobStore.containerExists(container);
> blobStore.createContainerInLocation(location, container);
> blobStore.getBlob(container, blobId); // throws here
> {code}
> This is a part of stack trace:
> {code:java}
> java.lang.IllegalStateException: Optional.get() cannot be called on an absent
> value
> at com.google.common.base.Absent.get(Absent.java:43)
> at
> org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.toBlobMetadata(RegionScopedSwiftBlobStore.java:607)
> at
> org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.getBlob(RegionScopedSwiftBlobStore.java:384)
> at
> org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.getBlob(RegionScopedSwiftBlobStore.java:374)
> {code}
> Is it a bug or an expected behavior? Or if it is expected, could you explain
> the reason why exception thrown, Thanks! :)
> [full example is
> here|https://github.com/trantienduchn/test-docker/blob/master/src/test/java/duc/home/test/docker/openstack/swift/SwiftTest.java]
>
> I'm using an
> [docker|https://github.com/jeantil/openstack-swift-keystone-docker] to run
> openstack swift which is using:
> * keystone 12.0.0
> * Swift 2.15.1
> and jcloud api version 2.1.1
> {code:java}
> <dependency>
> <groupId>org.apache.jclouds.api</groupId>
> <artifactId>openstack-swift</artifactId>
> <version>${jclouds.version}</version>
> </dependency>
> {code}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)