Author: amitj
Date: Mon Jul 10 05:04:40 2017
New Revision: 1801414

URL: http://svn.apache.org/viewvc?rev=1801414&view=rev
Log:
OAK-6374: S3Backend masks actual thrown error when problem in filtering 
properties

Merge r1799393 from trunk

Modified:
    jackrabbit/oak/branches/1.6/   (props changed)
    
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
    
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
    
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java
    
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java
    
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java

Propchange: jackrabbit/oak/branches/1.6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jul 10 05:04:40 2017
@@ -1,3 +1,3 @@
 /jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1781068,1781075,1781248,1781386,1781846,1781907,1782000,1782029,1782196,1782447,1782476,1782770,1782945,1782966,1782973,1782990,1783061,1783066,1783089,1783104-1783105,1783110,1783619,1783720,1783731,1783733,1783738,1783742,1783773,1783855,1783891,1784023,1784034,1784130,1784162,1784251,1784401,1784551,1784574,1784689,1785095,1785108,1785283,1785838,1785917,1785919,1785946,1787074,1787145,1787217,1787425,1788056,1788378,1788387-1788389,1788850,1789056,1789534,1790382,1792463,1792742,1792746,1793013,1793088,1793618,1793627,1793644,1795138,1795314,1795330,1795475,1795488,1795491,1795502,1795594,1795613,1795618,1796144,1796230,1796239,1796274,1796278,1796988,1798035,1798834,1799924,1800269,1800606,1800613,1800974
+/jackrabbit/oak/trunk:1781068,1781075,1781248,1781386,1781846,1781907,1782000,1782029,1782196,1782447,1782476,1782770,1782945,1782966,1782973,1782990,1783061,1783066,1783089,1783104-1783105,1783110,1783619,1783720,1783731,1783733,1783738,1783742,1783773,1783855,1783891,1784023,1784034,1784130,1784162,1784251,1784401,1784551,1784574,1784689,1785095,1785108,1785283,1785838,1785917,1785919,1785946,1787074,1787145,1787217,1787425,1788056,1788378,1788387-1788389,1788850,1789056,1789534,1790382,1792463,1792742,1792746,1793013,1793088,1793618,1793627,1793644,1795138,1795314,1795330,1795475,1795488,1795491,1795502,1795594,1795613,1795618,1796144,1796230,1796239,1796274,1796278,1796988,1798035,1798834,1799393,1799924,1800269,1800606,1800613,1800974
 /jackrabbit/trunk:1345480

Modified: 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java?rev=1801414&r1=1801413&r2=1801414&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
 (original)
+++ 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
 Mon Jul 10 05:04:40 2017
@@ -214,10 +214,10 @@ public class S3Backend implements Shared
             LOG.debug("S3 Backend initialized in [{}] ms",
                 +(System.currentTimeMillis() - startTime.getTime()));
         } catch (Exception e) {
-            LOG.debug("  error ", e);
-            Map<String, String> filteredMap = Maps.newHashMap();
+            LOG.error("  error ", e);
+            Map<String, Object> filteredMap = Maps.newHashMap();
             if (prop != null) {
-                filteredMap = Maps.filterKeys(Maps.fromProperties(prop), new 
Predicate<String>() {
+                filteredMap = Maps.filterKeys(Utils.asMap(prop), new 
Predicate<String>() {
                     @Override public boolean apply(String input) {
                         return !input.equals(S3Constants.ACCESS_KEY) && 
!input.equals(S3Constants
                             .SECRET_KEY);

Modified: 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java?rev=1801414&r1=1801413&r2=1801414&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
 (original)
+++ 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
 Mon Jul 10 05:04:40 2017
@@ -164,13 +164,13 @@ public class S3Backend extends AbstractS
             LOG.debug("S3 Backend initialized in [{}] ms",
                 +(System.currentTimeMillis() - startTime.getTime()));
         } catch (Exception e) {
-            LOG.debug("  error ", e);
-            Map<String, String> filteredMap = Maps.newHashMap();
+            LOG.error("Error ", e);
+            Map<String, Object> filteredMap = Maps.newHashMap();
             if (properties != null) {
-                filteredMap = Maps.filterKeys(Maps.fromProperties(properties), 
new Predicate<String>() {
+                filteredMap = Maps.filterKeys(Utils.asMap(properties), new 
Predicate<String>() {
                     @Override public boolean apply(String input) {
-                        return !input.equals(S3Constants.ACCESS_KEY) && 
!input.equals(S3Constants
-                            .SECRET_KEY);
+                        return !input.equals(S3Constants.ACCESS_KEY) &&
+                            !input.equals(S3Constants.SECRET_KEY);
                     }
                 });
             }

Modified: 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java?rev=1801414&r1=1801413&r2=1801414&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java
 (original)
+++ 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java
 Mon Jul 10 05:04:40 2017
@@ -21,8 +21,10 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Map;
 import java.util.Properties;
 
+import com.google.common.collect.Maps;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -222,4 +224,12 @@ public final class Utils {
         cc.setMaxErrorRetry(maxErrorRetry);
         return cc;
     }
+
+    public static Map<String, Object> asMap(Properties props) {
+        Map<String, Object> map = Maps.newHashMap();
+        for (Object key : props.keySet()) {
+            map.put((String)key, props.get(key));
+        }
+        return map;
+    }
 }

Modified: 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java?rev=1801414&r1=1801413&r2=1801414&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java
 (original)
+++ 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java
 Mon Jul 10 05:04:40 2017
@@ -122,7 +122,7 @@ public class S3DataStoreUtils extends Da
 
     public static DataStore getS3DataStore(String className, Properties props, 
String homeDir) throws Exception {
         DataStore ds = 
Class.forName(className).asSubclass(DataStore.class).newInstance();
-        PropertiesUtil.populate(ds, Maps.fromProperties(props), false);
+        PropertiesUtil.populate(ds, Utils.asMap(props), false);
         // Set the props object
         if (S3.getName().equals(className)) {
             ((S3DataStore) ds).setProperties(props);

Modified: 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java?rev=1801414&r1=1801413&r2=1801414&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
 (original)
+++ 
jackrabbit/oak/branches/1.6/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
 Mon Jul 10 05:04:40 2017
@@ -84,11 +84,12 @@ public class TestS3DataStore {
     @Test
     public void testAccessParamLeakOnError() throws Exception {
         expectedEx.expect(RepositoryException.class);
-        expectedEx.expectMessage("Could not initialize S3 from 
{s3Region=us-standard}");
+        expectedEx.expectMessage("Could not initialize S3 from 
{s3Region=us-standard, intValueKey=25}");
 
         props.put(S3Constants.ACCESS_KEY, "abcd");
         props.put(S3Constants.SECRET_KEY, "123456");
         props.put(S3Constants.S3_REGION, "us-standard");
+        props.put("intValueKey", 25);
         ds = getS3DataStore(s3Class, props, dataStoreDir.getAbsolutePath());
     }
 


Reply via email to