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 2017/05/18 08:39:55 UTC

svn commit: r1795491 - in /jackrabbit/oak/trunk/oak-run: README.md src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java

Author: amitj
Date: Thu May 18 08:39:55 2017
New Revision: 1795491

URL: http://svn.apache.org/viewvc?rev=1795491&view=rev
Log:
OAK-6229: NPE when running datastorecheck command with S3

- Added cleanup for S3 & Azure tests
- Changed readme to reflect the latest aws version

Modified:
    jackrabbit/oak/trunk/oak-run/README.md
    jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java

Modified: jackrabbit/oak/trunk/oak-run/README.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/README.md?rev=1795491&r1=1795490&r2=1795491&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/README.md (original)
+++ jackrabbit/oak/trunk/oak-run/README.md Thu May 18 08:39:55 2017
@@ -475,12 +475,11 @@ The following options are available:
 Note:
 For using S3DataStore the following additional jars have to be downloaded
     - [commons-logging-1.1.3.jar](http://central.maven.org/maven2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar)
-    - [httpcore-4.4.4.jar](http://central.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.jar)
-    - [aws-java-sdk-osgi-1.10.76.jar](http://central.maven.org/maven2/com/amazonaws/aws-java-sdk-osgi/1.10.76/aws-java-sdk-osgi-1.10.76.jar)
+    - [aws-java-sdk-osgi-1.11.24.jar](http://central.maven.org/maven2/com/amazonaws/aws-java-sdk-osgi/1.11.24/aws-java-sdk-osgi-1.11.24.jar)
     
 The command to be executed for S3DataStore
 
-    java -classpath oak-run-*.jar:httpcore-4.4.4.jar:aws-java-sdk-osgi-1.10.76.jar:commons-logging-1.1.3.jar \
+    java -classpath oak-run-*.jar:aws-java-sdk-osgi-1.11.24.jar:commons-logging-1.1.3.jar \
         org.apache.jackrabbit.oak.run.Main \
         datastorecheck --id --ref --consistency \
         --store <path>|<mongo_uri> \

Modified: jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java?rev=1795491&r1=1795490&r2=1795491&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java Thu May 18 08:39:55 2017
@@ -31,6 +31,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintStream;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
@@ -41,11 +42,14 @@ import com.google.common.collect.Immutab
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
+import joptsimple.internal.Strings;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.filefilter.FileFilterUtils;
 import org.apache.felix.cm.file.ConfigurationHandler;
 import org.apache.jackrabbit.core.data.DataStore;
+import org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage.AzureConstants;
 import org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage.AzureDataStoreUtils;
+import org.apache.jackrabbit.oak.blob.cloud.s3.S3Constants;
 import org.apache.jackrabbit.oak.blob.cloud.s3.S3DataStoreUtils;
 import org.apache.jackrabbit.oak.commons.FileIOUtils;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
@@ -88,11 +92,14 @@ public class DataStoreCheckTest {
 
     private String dsOption;
 
+    private String container;
+
     @Before
     public void setup() throws Exception {
         if (S3DataStoreUtils.isS3Configured()) {
             Properties props = S3DataStoreUtils.getS3Config();
             props.setProperty("cacheSize", "0");
+            container = props.getProperty(S3Constants.S3_BUCKET);
             DataStore ds = S3DataStoreUtils.getS3DataStore(S3DataStoreUtils.getFixtures().get(0),
                 props,
                 temporaryFolder.newFolder().getAbsolutePath());
@@ -102,6 +109,7 @@ public class DataStoreCheckTest {
         } else if (AzureDataStoreUtils.isAzureConfigured()) {
             Properties props = AzureDataStoreUtils.getAzureConfig();
             props.setProperty("cacheSize", "0");
+            container = props.getProperty(AzureConstants.AZURE_BLOB_CONTAINER_NAME);
             DataStore ds = AzureDataStoreUtils.getAzureDataStore(props,
                 temporaryFolder.newFolder().getAbsolutePath());
             setupDataStore = new DataStoreBlobStore(ds);
@@ -155,6 +163,17 @@ public class DataStoreCheckTest {
     @After
     public void tearDown() {
         System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.err)));
+        if (!Strings.isNullOrEmpty(container)) {
+            try {
+                if (dsOption.equals("s3ds")) {
+                    S3DataStoreUtils.deleteBucket(container, new Date());
+                } else {
+                    AzureDataStoreUtils.deleteContainer(container);
+                }
+            } catch (Exception e) {
+                log.error("Error in cleaning container", e);
+            }
+        }
     }
 
     @Test