Skip to content

Commit 44eb54f

Browse files
comments
1 parent 13bdf80 commit 44eb54f

File tree

8 files changed

+16
-24
lines changed

8 files changed

+16
-24
lines changed

persistence/eclipselink/src/main/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisEclipseLinkMetaStoreSessionImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -756,8 +756,7 @@ public PolarisPrincipalSecrets resetPrincipalSecrets(
756756
@Nonnull String clientId,
757757
long principalId,
758758
String customClientId,
759-
String customClientSecret,
760-
boolean customReset) {
759+
String customClientSecret) {
761760
throw new UnsupportedOperationException(
762761
"This method is not supported for EclipseLink as metastore");
763762
}

persistence/relational-jdbc/src/main/java/org/apache/polaris/persistence/relational/jdbc/JdbcBasePersistenceImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -780,8 +780,7 @@ public PolarisPrincipalSecrets resetPrincipalSecrets(
780780
@Nonnull String clientId,
781781
long principalId,
782782
String customClientId,
783-
String customClientSecret,
784-
boolean customReset) {
783+
String customClientSecret) {
785784
PolarisPrincipalSecrets principalSecrets = loadPrincipalSecrets(callCtx, clientId);
786785

787786
// should be found
@@ -804,7 +803,7 @@ public PolarisPrincipalSecrets resetPrincipalSecrets(
804803
principalId,
805804
principalSecrets.getPrincipalId());
806805

807-
if (customReset) {
806+
if (customClientId != null && customClientSecret != null) {
808807
principalSecrets =
809808
new PolarisPrincipalSecrets(
810809
principalSecrets.getPrincipalId(), customClientId, customClientSecret, null);

polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -912,15 +912,13 @@ private void revokeGrantRecord(
912912
}
913913

914914
PolarisBaseEntity principal = loadEntityResult.getEntity();
915-
Map<String, String> internalProps =
916-
PolarisObjectMapperUtil.deserializeProperties(
917-
principal.getInternalProperties() == null ? "{}" : principal.getInternalProperties());
915+
Map<String, String> internalProps = principal.getInternalPropertiesAsMap();
918916

919917
boolean customReset = customClientId != null && customClientSecret != null;
920918
PolarisPrincipalSecrets secrets =
921919
((IntegrationPersistence) ms)
922920
.resetPrincipalSecrets(
923-
callCtx, clientId, principalId, customClientId, customClientSecret, customReset);
921+
callCtx, clientId, principalId, customClientId, customClientSecret);
924922

925923
PolarisBaseEntity.Builder principalBuilder = new PolarisBaseEntity.Builder(principal);
926924
principalBuilder.internalProperties(PolarisObjectMapperUtil.serializeProperties(internalProps));
@@ -929,8 +927,8 @@ private void revokeGrantRecord(
929927
principalBuilder.entityVersion(principal.getEntityVersion());
930928
} else {
931929
principalBuilder.entityVersion(principal.getEntityVersion() + 1);
930+
ms.writeEntity(callCtx, principalBuilder.build(), true, principal);
932931
}
933-
ms.writeEntity(callCtx, principalBuilder.build(), true, principal);
934932
return (secrets == null)
935933
? new PrincipalSecretsResult(BaseResult.ReturnStatus.ENTITY_NOT_FOUND, null)
936934
: new PrincipalSecretsResult(secrets);

polaris-core/src/main/java/org/apache/polaris/core/persistence/IntegrationPersistence.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,14 @@ PolarisPrincipalSecrets rotatePrincipalSecrets(
9090
* @param principalId principal id
9191
* @param customClientId the principal secret's old main secret hash
9292
* @param customClientSecret the principal secret's old main secret hash
93-
* @param customReset
9493
*/
9594
@Nullable
9695
PolarisPrincipalSecrets resetPrincipalSecrets(
9796
@Nonnull PolarisCallContext callCtx,
9897
@Nonnull String clientId,
9998
long principalId,
10099
String customClientId,
101-
String customClientSecret,
102-
boolean customReset);
100+
String customClientSecret);
103101

104102
/**
105103
* When dropping a principal, we also need to drop the secrets of that principal

polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/TransactionalMetaStoreManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -946,7 +946,7 @@ private void bootstrapPolarisService(
946946

947947
PolarisPrincipalSecrets secrets =
948948
ms.resetPrincipalSecrets(
949-
callCtx, clientId, principalId, customClientId, customClientSecret, customReset);
949+
callCtx, clientId, principalId, customClientId, customClientSecret);
950950
principalBuilder.internalProperties(PolarisObjectMapperUtil.serializeProperties(internalProps));
951951
// To avoid incrementing entity version twice
952952
if (customReset) {

polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/TreeMapTransactionalPersistenceImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -500,8 +500,7 @@ public int lookupEntityGrantRecordsVersionInCurrentTxn(
500500
@Nonnull String clientId,
501501
long principalId,
502502
String customClientId,
503-
String customClientSecret,
504-
boolean customReset) {
503+
String customClientSecret) {
505504
PolarisPrincipalSecrets principalSecrets = this.store.getSlicePrincipalSecrets().read(clientId);
506505

507506
// should be found
@@ -525,7 +524,7 @@ public int lookupEntityGrantRecordsVersionInCurrentTxn(
525524
principalSecrets.getPrincipalId());
526525

527526
// reset the secrets
528-
if (customReset) {
527+
if (customClientId != null && customClientSecret != null) {
529528
principalSecrets =
530529
new PolarisPrincipalSecrets(
531530
principalSecrets.getPrincipalId(), customClientId, customClientSecret, null);

runtime/service/src/main/java/org/apache/polaris/service/admin/PolarisServiceImpl.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -170,15 +170,15 @@ public Response createCatalog(
170170
return Response.status(Response.Status.CREATED).build();
171171
}
172172

173-
private void validateResetClientId(String clientId) {
173+
private void validateClientId(String clientId) {
174174
if (!clientId.matches("^[0-9a-f]{16}$")) {
175-
throw new IllegalArgumentException("Invalid resetClientId format");
175+
throw new IllegalArgumentException("Invalid clientId format");
176176
}
177177
}
178178

179-
private void validateResetClientSecret(String clientSecret) {
179+
private void validateClientSecret(String clientSecret) {
180180
if (!clientSecret.matches("^[0-9a-f]{32}$")) {
181-
throw new IllegalArgumentException("Invalid resetClientSecret format");
181+
throw new IllegalArgumentException("Invalid clientSecret format");
182182
}
183183
}
184184

@@ -307,10 +307,10 @@ public Response resetCredentials(
307307
: new ResetPrincipalRequest(null, null);
308308

309309
if (safeResetPrincipalRequest.getClientId() != null) {
310-
validateResetClientId(safeResetPrincipalRequest.getClientId());
310+
validateClientId(safeResetPrincipalRequest.getClientId());
311311
}
312312
if (safeResetPrincipalRequest.getClientSecret() != null) {
313-
validateResetClientSecret(safeResetPrincipalRequest.getClientSecret());
313+
validateClientSecret(safeResetPrincipalRequest.getClientSecret());
314314
}
315315
PolarisAdminService adminService = newAdminService(realmContext, securityContext);
316316
return Response.ok(adminService.resetCredentials(principalName, safeResetPrincipalRequest))

spec/polaris-management-service.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,6 @@ paths:
199199
404:
200200
description: "The catalog or principal does not exist"
201201

202-
203202
put:
204203
operationId: updatePrincipal
205204
description: Update an existing principal

0 commit comments

Comments
 (0)