From f8ebbfdf8a43a716f49cb910ff773d62c3daa894 Mon Sep 17 00:00:00 2001 From: Zack Shoylev Date: Mon, 7 Mar 2016 13:48:37 -0600 Subject: [PATCH] Fixes an intermittently failing swift live test. --- .../swift/v1/features/StaticLargeObjectApiLiveTest.java | 5 +++++ .../openstack/swift/v1/internal/BaseSwiftApiLiveTest.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/StaticLargeObjectApiLiveTest.java b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/StaticLargeObjectApiLiveTest.java index 6eca88c92f..e5582914d1 100644 --- a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/StaticLargeObjectApiLiveTest.java +++ b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/StaticLargeObjectApiLiveTest.java @@ -62,9 +62,11 @@ public class StaticLargeObjectApiLiveTest extends BaseSwiftApiLiveTest ObjectApi objectApi = api.getObjectApi(regionId, containerName); String etag1s = objectApi.put(name + "/1", newByteSourcePayload(ByteSource.wrap(megOf1s))); + awaitConsistency(); assertMegabyteAndETagMatches(regionId, name + "/1", etag1s); String etag2s = objectApi.put(name + "/2", newByteSourcePayload(ByteSource.wrap(megOf2s))); + awaitConsistency(); assertMegabyteAndETagMatches(regionId, name + "/2", etag2s); List segments = ImmutableList. builder() @@ -76,11 +78,14 @@ public class StaticLargeObjectApiLiveTest extends BaseSwiftApiLiveTest .build()) .build(); + awaitConsistency(); String etagOfEtags = api.getStaticLargeObjectApi(regionId, containerName).replaceManifest( name, segments, ImmutableMap.of("myfoo", "Bar")); assertNotNull(etagOfEtags); + awaitConsistency(); + SwiftObject bigObject = api.getObjectApi(regionId, containerName).get(name); assertEquals(bigObject.getETag(), etagOfEtags); assertEquals(bigObject.getPayload().getContentMetadata().getContentLength(), Long.valueOf(2 * 1024 * 1024)); diff --git a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/internal/BaseSwiftApiLiveTest.java b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/internal/BaseSwiftApiLiveTest.java index a5cf53864f..b995583e8c 100644 --- a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/internal/BaseSwiftApiLiveTest.java +++ b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/internal/BaseSwiftApiLiveTest.java @@ -48,6 +48,13 @@ public abstract class BaseSwiftApiLiveTest extends BaseApiLi provider = "openstack-swift"; } + protected static final int AWAIT_CONSISTENCY_TIMEOUT_SECONDS = Integer.parseInt(System.getProperty( + "test.blobstore.await-consistency-timeout-seconds", "10")); + + protected void awaitConsistency() { + Uninterruptibles.sleepUninterruptibly(AWAIT_CONSISTENCY_TIMEOUT_SECONDS, TimeUnit.SECONDS); + } + @Override @BeforeClass(groups = "live") public void setup() {