Author: tomekr
Date: Mon Sep  4 08:56:45 2017
New Revision: 1807198

URL: http://svn.apache.org/viewvc?rev=1807198&view=rev
Log:
OAK-6611: Many S3DataStore errors during migration with oak-upgrade

-wait until all the pending s3 uploads are done after the migration

Modified:
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java?rev=1807198&r1=1807197&r2=1807198&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java
 Mon Sep  4 08:56:45 2017
@@ -28,20 +28,15 @@ import java.util.regex.Pattern;
 import javax.jcr.RepositoryException;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.jackrabbit.core.data.DataStoreException;
 import org.apache.jackrabbit.oak.blob.cloud.s3.S3DataStore;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import com.google.common.io.Closer;
 import com.google.common.io.Files;
 
 public class S3DataStoreFactory implements BlobStoreFactory {
 
-    private static final Logger log = 
LoggerFactory.getLogger(S3DataStoreFactory.class);
-
     private static final Pattern STRIP_VALUE_PATTERN = 
Pattern.compile("^[TILFDXSCB]?\"(.*)\"\\W*$");
 
     private final Properties props;
@@ -94,8 +89,10 @@ public class S3DataStoreFactory implemen
             @Override
             public void close() throws IOException {
                 try {
-                    store.close();
-                } catch (DataStoreException e) {
+                    while (store.getStats().get(1).getElementCount() > 0) {
+                        Thread.sleep(100);
+                    }
+                } catch (InterruptedException e) {
                     throw new IOException(e);
                 }
             }


Reply via email to