Author: mattryan
Date: Sun Sep  8 01:32:29 2019
New Revision: 1866583

URL: http://svn.apache.org/viewvc?rev=1866583&view=rev
Log:
OAK-8599: Fix direct binary upload init to return null if disabled

Modified:
    
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
    
jackrabbit/oak/trunk/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
    
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
    
jackrabbit/oak/trunk/oak-doc/src/site/markdown/features/direct-binary-access.md

Modified: 
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java?rev=1866583&r1=1866582&r2=1866583&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
 Sun Sep  8 01:32:29 2019
@@ -925,29 +925,36 @@ public class AzureBlobStoreBackend exten
                         Base64.encode(String.format("%06d", blockId)));
                 uploadPartURIs.add(createPresignedURI(key, perms, 
httpUploadURIExpirySeconds, presignedURIRequestParams));
             }
-        }
 
-        try {
-            byte[] secret = getOrCreateReferenceKey();
-            String uploadToken = new DataRecordUploadToken(blobId, 
uploadId).getEncodedToken(secret);
-            return new DataRecordUpload() {
-                @Override
-                @NotNull
-                public String getUploadToken() { return uploadToken; }
+            try {
+                byte[] secret = getOrCreateReferenceKey();
+                String uploadToken = new DataRecordUploadToken(blobId, 
uploadId).getEncodedToken(secret);
+                return new DataRecordUpload() {
+                    @Override
+                    @NotNull
+                    public String getUploadToken() {
+                        return uploadToken;
+                    }
 
-                @Override
-                public long getMinPartSize() { return minPartSize; }
+                    @Override
+                    public long getMinPartSize() {
+                        return minPartSize;
+                    }
 
-                @Override
-                public long getMaxPartSize() { return maxPartSize; }
+                    @Override
+                    public long getMaxPartSize() {
+                        return maxPartSize;
+                    }
 
-                @Override
-                @NotNull
-                public Collection<URI> getUploadURIs() { return 
uploadPartURIs; }
-            };
-        }
-        catch (DataStoreException e) {
-            LOG.warn("Unable to obtain data store key");
+                    @Override
+                    @NotNull
+                    public Collection<URI> getUploadURIs() {
+                        return uploadPartURIs;
+                    }
+                };
+            } catch (DataStoreException e) {
+                LOG.warn("Unable to obtain data store key");
+            }
         }
 
         return null;

Modified: 
jackrabbit/oak/trunk/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java?rev=1866583&r1=1866582&r2=1866583&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
 Sun Sep  8 01:32:29 2019
@@ -882,30 +882,37 @@ public class S3Backend extends AbstractS
                             presignedURIRequestParams));
                 }
             }
-        }
 
-        try {
-            byte[] secret = getOrCreateReferenceKey();
-            String uploadToken = new DataRecordUploadToken(blobId, 
uploadId).getEncodedToken(secret);
-
-            return new DataRecordUpload() {
-                @Override
-                @NotNull
-                public String getUploadToken() { return uploadToken; }
-
-                @Override
-                public long getMinPartSize() { return minPartSize; }
-
-                @Override
-                public long getMaxPartSize() { return maxPartSize; }
-
-                @Override
-                @NotNull
-                public Collection<URI> getUploadURIs() { return 
uploadPartURIs; }
-            };
-        }
-        catch (DataStoreException e) {
-            LOG.warn("Unable to obtain data store key");
+            try {
+                byte[] secret = getOrCreateReferenceKey();
+                String uploadToken = new DataRecordUploadToken(blobId, 
uploadId).getEncodedToken(secret);
+
+                return new DataRecordUpload() {
+                    @Override
+                    @NotNull
+                    public String getUploadToken() {
+                        return uploadToken;
+                    }
+
+                    @Override
+                    public long getMinPartSize() {
+                        return minPartSize;
+                    }
+
+                    @Override
+                    public long getMaxPartSize() {
+                        return maxPartSize;
+                    }
+
+                    @Override
+                    @NotNull
+                    public Collection<URI> getUploadURIs() {
+                        return uploadPartURIs;
+                    }
+                };
+            } catch (DataStoreException e) {
+                LOG.warn("Unable to obtain data store key");
+            }
         }
 
         return null;

Modified: 
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java?rev=1866583&r1=1866582&r2=1866583&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
 Sun Sep  8 01:32:29 2019
@@ -339,11 +339,8 @@ public abstract class AbstractDataRecord
         ConfigurableDataRecordAccessProvider ds = getDataStore();
         try {
             ds.setDirectUploadURIExpirySeconds(0);
-            DataRecordUpload uploadContext = 
ds.initiateDataRecordUpload(TWENTY_MB, 10);
-            assertEquals(0, uploadContext.getUploadURIs().size());
-
-            uploadContext = ds.initiateDataRecordUpload(20, 1);
-            assertEquals(0, uploadContext.getUploadURIs().size());
+            assertNull(ds.initiateDataRecordUpload(TWENTY_MB, 10));
+            assertNull(ds.initiateDataRecordUpload(20, 1));
         }
         finally {
             ds.setDirectUploadURIExpirySeconds(expirySeconds);

Modified: 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/features/direct-binary-access.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/features/direct-binary-access.md?rev=1866583&r1=1866582&r2=1866583&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/features/direct-binary-access.md 
(original)
+++ 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/features/direct-binary-access.md 
Sun Sep  8 01:32:29 2019
@@ -184,7 +184,7 @@ public class InitiateUploadServlet exten
 }
 ```
 
-Clients should always check whether the `BinaryUpload` returned from 
`valueFactory.initiateBinaryUpload()` is null, and also should handle the case 
where no upload URIs are returned.  Either situation indicates that the feature 
is not supported.
+Clients should always check whether the `BinaryUpload` returned from 
`valueFactory.initiateBinaryUpload()` is null.  This situation indicates that 
the feature is not supported.
 
 #### 2. Upload
 


Reply via email to