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);
}
}