This is an automated email from the ASF dual-hosted git repository.
miroslav pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new 4e49dac084 OAK-11732 Fix oak-segment-azure create persistence with
service principals (#2299)
4e49dac084 is described below
commit 4e49dac0847548d53477d99d879c516e67c488ce
Author: Ieran Bogdan <[email protected]>
AuthorDate: Wed May 21 12:29:43 2025 +0300
OAK-11732 Fix oak-segment-azure create persistence with service principals
(#2299)
* OAK-11732 Fix oak-segment-azure create persistence with service principals
---
.../oak/segment/azure/AzurePersistenceManager.java | 27 +++++++++++-----------
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git
a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistenceManager.java
b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistenceManager.java
index e16179741e..0cf5fa072f 100644
---
a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistenceManager.java
+++
b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistenceManager.java
@@ -141,15 +141,10 @@ public class AzurePersistenceManager {
BlobContainerClient noRetryBlobContainerClient =
getBlobContainerClient(accountName, containerName, null,
azureHttpRequestLoggingPolicy, clientSecretCredential);
- if (createContainer) {
- blobContainerClient.createIfNotExists();
- }
-
- final String rootPrefixNormalized = normalizePath(rootPrefix);
-
- return new AzurePersistence(blobContainerClient, writeContainerClient,
noRetryBlobContainerClient, rootPrefixNormalized,
azureHttpRequestLoggingPolicy);
+ return createAzurePersistence(blobContainerClient,
writeContainerClient, noRetryBlobContainerClient,
azureHttpRequestLoggingPolicy, rootPrefix, createContainer);
}
+
@NotNull
private static AzurePersistence createAzurePersistence(String
connectionString, Configuration configuration, boolean createContainer) throws
IOException {
return createAzurePersistence(connectionString, null,
configuration.accountName(), configuration.containerName(),
configuration.rootPath(), configuration.enableSecondaryLocation(),
createContainer);
@@ -188,18 +183,22 @@ public class AzurePersistenceManager {
noRetryBlobContainerClient =
getBlobContainerClient(accountName, containerName, null,
azureHttpRequestLoggingPolicy, connectionString);
}
- if (createContainer) {
- blobContainerClient.createIfNotExists();
- }
-
- final String rootPrefixNormalized = normalizePath(rootPrefix);
-
- return new AzurePersistence(blobContainerClient,
writeBlobContainerClient, noRetryBlobContainerClient, rootPrefixNormalized,
azureHttpRequestLoggingPolicy);
+ return createAzurePersistence(blobContainerClient,
writeBlobContainerClient, noRetryBlobContainerClient,
azureHttpRequestLoggingPolicy, rootPrefix, createContainer);
} catch (BlobStorageException e) {
throw new IOException(e);
}
}
+ private static AzurePersistence createAzurePersistence(BlobContainerClient
blobContainerClient, BlobContainerClient writeContainerClient,
BlobContainerClient noRetryBlobContainerClient, AzureHttpRequestLoggingPolicy
azureHttpRequestLoggingPolicy, String rootPrefix, boolean createContainer) {
+ if (createContainer && !blobContainerClient.exists()) {
+ blobContainerClient.create();
+ }
+
+ final String rootPrefixNormalized = normalizePath(rootPrefix);
+
+ return new AzurePersistence(blobContainerClient, writeContainerClient,
noRetryBlobContainerClient, rootPrefixNormalized,
azureHttpRequestLoggingPolicy);
+ }
+
private static BlobContainerClient getBlobContainerClientWithSas(String
accountName, String containerName, RequestRetryOptions requestRetryOptions,
AzureHttpRequestLoggingPolicy azureHttpRequestLoggingPolicy, String sasToken) {
BlobServiceClient blobServiceClient =
blobServiceClientBuilder(accountName, requestRetryOptions,
azureHttpRequestLoggingPolicy, sasToken)
.buildClient();