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/10/13 10:40:28 UTC
svn commit: r1812110 -
/jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
Author: amitj
Date: Fri Oct 13 10:40:28 2017
New Revision: 1812110
URL: http://svn.apache.org/viewvc?rev=1812110&view=rev
Log:
OAK-6802: Manage 'secret' property internally in S3/AzureDataStore
- Azure - Closing stream and rereading the stored value such that the only key associated with the actual stored value used
Modified:
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
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=1812110&r1=1812109&r2=1812110&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 Fri Oct 13 10:40:28 2017
@@ -267,12 +267,11 @@ public class AzureBlobStoreBackend exten
} else {
byte[] key;
// Try reading from the metadata folder if it exists
- DataRecord rec = getMetadataRecord(REF_KEY);
- if (rec != null) {
- key = IOUtils.toByteArray(rec.getStream());
- } else {
+ key = readMetadataBytes(REF_KEY);
+ if (key == null) {
key = super.getOrCreateReferenceKey();
addMetadataRecord(new ByteArrayInputStream(key), REF_KEY);
+ key = readMetadataBytes(REF_KEY);
}
secret = key;
return secret;
@@ -282,6 +281,21 @@ public class AzureBlobStoreBackend exten
}
}
+ private byte[] readMetadataBytes(String name) throws IOException, DataStoreException {
+ DataRecord rec = getMetadataRecord(name);
+ byte[] key = null;
+ if (rec != null) {
+ InputStream stream = null;
+ try {
+ stream = rec.getStream();
+ return IOUtils.toByteArray(stream);
+ } finally {
+ IOUtils.closeQuietly(stream);
+ }
+ }
+ return key;
+ }
+
@Override
public DataRecord getRecord(DataIdentifier identifier) throws DataStoreException {
if (null == identifier) {