You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by am...@apache.org on 2018/09/12 08:44:18 UTC
svn commit: r1840642 - in /jackrabbit/oak/trunk:
oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/document/S3SharedBlobStoreGCTest.java
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java
Author: amitj
Date: Wed Sep 12 08:44:17 2018
New Revision: 1840642
URL: http://svn.apache.org/viewvc?rev=1840642&view=rev
Log:
OAK-7749: Fix random failures in S3 related tests
- Add retry for blob creation to handle intermittent n/w problems
Modified:
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/document/S3SharedBlobStoreGCTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java
Modified: jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/document/S3SharedBlobStoreGCTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/document/S3SharedBlobStoreGCTest.java?rev=1840642&r1=1840641&r2=1840642&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/document/S3SharedBlobStoreGCTest.java (original)
+++ jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/document/S3SharedBlobStoreGCTest.java Wed Sep 12 08:44:17 2018
@@ -61,6 +61,7 @@ public class S3SharedBlobStoreGCTest ext
@Override
protected DataStoreBlobStore getBlobStore(File rootFolder) throws Exception {
+ retryCreation = true;
Properties props = S3DataStoreUtils.getS3Config();
bucket = rootFolder.getName();
props.setProperty(S3Constants.S3_BUCKET, bucket);
Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java?rev=1840642&r1=1840641&r2=1840642&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java Wed Sep 12 08:44:17 2018
@@ -65,7 +65,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertTrue;
/**
- * Test for gc in a shared data store among hetrogeneous oak node stores.
+ * Test for gc in a shared data store among heterogeneous oak node stores.
*/
public class SharedBlobStoreGCTest {
private static final Logger log = LoggerFactory.getLogger(SharedBlobStoreGCTest.class);
@@ -76,6 +76,7 @@ public class SharedBlobStoreGCTest {
protected Cluster cluster1;
protected Cluster cluster2;
private Clock clock;
+ protected boolean retryCreation = false;
@Before
public void setUp() throws Exception {
@@ -283,7 +284,29 @@ public class SharedBlobStoreGCTest {
}
}
for (int i = 0; i < number; i++) {
- Blob b = ds.createBlob(randomStream(i + seed, 16516));
+ Blob b = null;
+ // Simple retry
+ if (retryCreation) {
+ for (int retry = 0; retry < 5; retry++) {
+ try {
+ b = ds.createBlob(randomStream(i + seed, 16516));
+ if (b != null) {
+ break;
+ }
+ } catch (Exception e) {
+ if (retry >= 5) {
+ log.warn("Error in writing record", e);
+ throw e;
+ } else {
+ log.warn("Error in writing record...retrying", e);
+ Thread.sleep(100);
+ }
+ }
+ }
+ } else {
+ b = ds.createBlob(randomStream(i + seed, 16516));
+ }
+
if (!deletes.contains(i)) {
Iterator<String> idIter =
((GarbageCollectableBlobStore) ds.getBlobStore())