2727import java .util .Optional ;
2828import java .util .Set ;
2929import org .apache .polaris .core .PolarisCallContext ;
30+ import org .apache .polaris .core .PolarisDiagnostics ;
3031import org .apache .polaris .core .entity .LocationBasedEntity ;
3132import org .apache .polaris .core .entity .PolarisBaseEntity ;
3233import org .apache .polaris .core .entity .PolarisEntity ;
7273 * be reused between requests.
7374 */
7475public class TransactionWorkspaceMetaStoreManager implements PolarisMetaStoreManager {
76+ private final PolarisDiagnostics diagnostics ;
7577 private final PolarisMetaStoreManager delegate ;
7678
7779 // TODO: If we want to support the semantic of opening a transaction in which multiple
@@ -83,7 +85,9 @@ public class TransactionWorkspaceMetaStoreManager implements PolarisMetaStoreMan
8385 // pendingUpdates that ultimately need to be applied in order within the real MetaStoreManager.
8486 private final List <EntityWithPath > pendingUpdates = new ArrayList <>();
8587
86- public TransactionWorkspaceMetaStoreManager (PolarisMetaStoreManager delegate ) {
88+ public TransactionWorkspaceMetaStoreManager (
89+ PolarisDiagnostics diagnostics , PolarisMetaStoreManager delegate ) {
90+ this .diagnostics = diagnostics ;
8791 this .delegate = delegate ;
8892 }
8993
@@ -93,15 +97,13 @@ public List<EntityWithPath> getPendingUpdates() {
9397
9498 @ Override
9599 public BaseResult bootstrapPolarisService (@ Nonnull PolarisCallContext callCtx ) {
96- callCtx
97- .getDiagServices ()
98- .fail ("illegal_method_in_transaction_workspace" , "bootstrapPolarisService" );
100+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "bootstrapPolarisService" );
99101 return null ;
100102 }
101103
102104 @ Override
103105 public BaseResult purge (@ Nonnull PolarisCallContext callCtx ) {
104- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "purge" );
106+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "purge" );
105107 return null ;
106108 }
107109
@@ -112,7 +114,7 @@ public EntityResult readEntityByName(
112114 @ Nonnull PolarisEntityType entityType ,
113115 @ Nonnull PolarisEntitySubType entitySubType ,
114116 @ Nonnull String name ) {
115- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "readEntityByName" );
117+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "readEntityByName" );
116118 return null ;
117119 }
118120
@@ -123,31 +125,27 @@ public ListEntitiesResult listEntities(
123125 @ Nonnull PolarisEntityType entityType ,
124126 @ Nonnull PolarisEntitySubType entitySubType ,
125127 @ Nonnull PageToken pageToken ) {
126- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "listEntities" );
128+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "listEntities" );
127129 return null ;
128130 }
129131
130132 @ Override
131133 public GenerateEntityIdResult generateNewEntityId (@ Nonnull PolarisCallContext callCtx ) {
132- callCtx
133- .getDiagServices ()
134- .fail ("illegal_method_in_transaction_workspace" , "generateNewEntityId" );
134+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "generateNewEntityId" );
135135 return null ;
136136 }
137137
138138 @ Override
139139 public CreatePrincipalResult createPrincipal (
140140 @ Nonnull PolarisCallContext callCtx , @ Nonnull PolarisBaseEntity principal ) {
141- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "createPrincipal" );
141+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "createPrincipal" );
142142 return null ;
143143 }
144144
145145 @ Override
146146 public PrincipalSecretsResult loadPrincipalSecrets (
147147 @ Nonnull PolarisCallContext callCtx , @ Nonnull String clientId ) {
148- callCtx
149- .getDiagServices ()
150- .fail ("illegal_method_in_transaction_workspace" , "loadPrincipalSecrets" );
148+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadPrincipalSecrets" );
151149 return null ;
152150 }
153151
@@ -158,9 +156,7 @@ public PrincipalSecretsResult rotatePrincipalSecrets(
158156 long principalId ,
159157 boolean reset ,
160158 @ Nonnull String oldSecretHash ) {
161- callCtx
162- .getDiagServices ()
163- .fail ("illegal_method_in_transaction_workspace" , "rotatePrincipalSecrets" );
159+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "rotatePrincipalSecrets" );
164160 return null ;
165161 }
166162
@@ -169,7 +165,7 @@ public CreateCatalogResult createCatalog(
169165 @ Nonnull PolarisCallContext callCtx ,
170166 @ Nonnull PolarisBaseEntity catalog ,
171167 @ Nonnull List <PolarisEntityCore > principalRoles ) {
172- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "createCatalog" );
168+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "createCatalog" );
173169 return null ;
174170 }
175171
@@ -178,9 +174,7 @@ public EntityResult createEntityIfNotExists(
178174 @ Nonnull PolarisCallContext callCtx ,
179175 @ Nullable List <PolarisEntityCore > catalogPath ,
180176 @ Nonnull PolarisBaseEntity entity ) {
181- callCtx
182- .getDiagServices ()
183- .fail ("illegal_method_in_transaction_workspace" , "createEntityIfNotExists" );
177+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "createEntityIfNotExists" );
184178 return null ;
185179 }
186180
@@ -189,9 +183,7 @@ public EntitiesResult createEntitiesIfNotExist(
189183 @ Nonnull PolarisCallContext callCtx ,
190184 @ Nullable List <PolarisEntityCore > catalogPath ,
191185 @ Nonnull List <? extends PolarisBaseEntity > entities ) {
192- callCtx
193- .getDiagServices ()
194- .fail ("illegal_method_in_transaction_workspace" , "createEntitiesIfNotExist" );
186+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "createEntitiesIfNotExist" );
195187 return null ;
196188 }
197189
@@ -207,9 +199,8 @@ public EntityResult updateEntityPropertiesIfNotChanged(
207199 @ Override
208200 public EntitiesResult updateEntitiesPropertiesIfNotChanged (
209201 @ Nonnull PolarisCallContext callCtx , @ Nonnull List <EntityWithPath > entities ) {
210- callCtx
211- .getDiagServices ()
212- .fail ("illegal_method_in_transaction_workspace" , "updateEntitiesPropertiesIfNotChanged" );
202+ diagnostics .fail (
203+ "illegal_method_in_transaction_workspace" , "updateEntitiesPropertiesIfNotChanged" );
213204 return null ;
214205 }
215206
@@ -220,7 +211,7 @@ public EntityResult renameEntity(
220211 @ Nonnull PolarisBaseEntity entityToRename ,
221212 @ Nullable List <PolarisEntityCore > newCatalogPath ,
222213 @ Nonnull PolarisEntity renamedEntity ) {
223- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "renameEntity" );
214+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "renameEntity" );
224215 return null ;
225216 }
226217
@@ -231,7 +222,7 @@ public DropEntityResult dropEntityIfExists(
231222 @ Nonnull PolarisBaseEntity entityToDrop ,
232223 @ Nullable Map <String , String > cleanupProperties ,
233224 boolean cleanup ) {
234- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "dropEntityIfExists" );
225+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "dropEntityIfExists" );
235226 return null ;
236227 }
237228
@@ -241,9 +232,7 @@ public PrivilegeResult grantUsageOnRoleToGrantee(
241232 @ Nullable PolarisEntityCore catalog ,
242233 @ Nonnull PolarisEntityCore role ,
243234 @ Nonnull PolarisEntityCore grantee ) {
244- callCtx
245- .getDiagServices ()
246- .fail ("illegal_method_in_transaction_workspace" , "grantUsageOnRoleToGrantee" );
235+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "grantUsageOnRoleToGrantee" );
247236 return null ;
248237 }
249238
@@ -253,9 +242,7 @@ public PrivilegeResult revokeUsageOnRoleFromGrantee(
253242 @ Nullable PolarisEntityCore catalog ,
254243 @ Nonnull PolarisEntityCore role ,
255244 @ Nonnull PolarisEntityCore grantee ) {
256- callCtx
257- .getDiagServices ()
258- .fail ("illegal_method_in_transaction_workspace" , "revokeUsageOnRoleFromGrantee" );
245+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "revokeUsageOnRoleFromGrantee" );
259246 return null ;
260247 }
261248
@@ -266,9 +253,7 @@ public PrivilegeResult grantPrivilegeOnSecurableToRole(
266253 @ Nullable List <PolarisEntityCore > catalogPath ,
267254 @ Nonnull PolarisEntityCore securable ,
268255 @ Nonnull PolarisPrivilege privilege ) {
269- callCtx
270- .getDiagServices ()
271- .fail ("illegal_method_in_transaction_workspace" , "grantPrivilegeOnSecurableToRole" );
256+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "grantPrivilegeOnSecurableToRole" );
272257 return null ;
273258 }
274259
@@ -279,36 +264,29 @@ public PrivilegeResult revokePrivilegeOnSecurableFromRole(
279264 @ Nullable List <PolarisEntityCore > catalogPath ,
280265 @ Nonnull PolarisEntityCore securable ,
281266 @ Nonnull PolarisPrivilege privilege ) {
282- callCtx
283- .getDiagServices ()
284- .fail ("illegal_method_in_transaction_workspace" , "revokePrivilegeOnSecurableFromRole" );
267+ diagnostics .fail (
268+ "illegal_method_in_transaction_workspace" , "revokePrivilegeOnSecurableFromRole" );
285269 return null ;
286270 }
287271
288272 @ Override
289273 public @ Nonnull LoadGrantsResult loadGrantsOnSecurable (
290274 @ Nonnull PolarisCallContext callCtx , PolarisEntityCore securable ) {
291- callCtx
292- .getDiagServices ()
293- .fail ("illegal_method_in_transaction_workspace" , "loadGrantsOnSecurable" );
275+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadGrantsOnSecurable" );
294276 return null ;
295277 }
296278
297279 @ Override
298280 public @ Nonnull LoadGrantsResult loadGrantsToGrantee (
299281 @ Nonnull PolarisCallContext callCtx , PolarisEntityCore grantee ) {
300- callCtx
301- .getDiagServices ()
302- .fail ("illegal_method_in_transaction_workspace" , "loadGrantsToGrantee" );
282+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadGrantsToGrantee" );
303283 return null ;
304284 }
305285
306286 @ Override
307287 public ChangeTrackingResult loadEntitiesChangeTracking (
308288 @ Nonnull PolarisCallContext callCtx , @ Nonnull List <PolarisEntityId > entityIds ) {
309- callCtx
310- .getDiagServices ()
311- .fail ("illegal_method_in_transaction_workspace" , "loadEntitiesChangeTracking" );
289+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadEntitiesChangeTracking" );
312290 return null ;
313291 }
314292
@@ -318,14 +296,14 @@ public EntityResult loadEntity(
318296 long entityCatalogId ,
319297 long entityId ,
320298 PolarisEntityType entityType ) {
321- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "loadEntity" );
299+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadEntity" );
322300 return null ;
323301 }
324302
325303 @ Override
326304 public EntitiesResult loadTasks (
327305 @ Nonnull PolarisCallContext callCtx , String executorId , PageToken pageToken ) {
328- callCtx . getDiagServices () .fail ("illegal_method_in_transaction_workspace" , "loadTasks" );
306+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadTasks" );
329307 return null ;
330308 }
331309
@@ -354,9 +332,7 @@ public ResolvedEntityResult loadResolvedEntityById(
354332 long entityCatalogId ,
355333 long entityId ,
356334 PolarisEntityType entityType ) {
357- callCtx
358- .getDiagServices ()
359- .fail ("illegal_method_in_transaction_workspace" , "loadResolvedEntityById" );
335+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadResolvedEntityById" );
360336 return null ;
361337 }
362338
@@ -367,9 +343,7 @@ public ResolvedEntityResult loadResolvedEntityByName(
367343 long parentId ,
368344 @ Nonnull PolarisEntityType entityType ,
369345 @ Nonnull String entityName ) {
370- callCtx
371- .getDiagServices ()
372- .fail ("illegal_method_in_transaction_workspace" , "loadResolvedEntityByName" );
346+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadResolvedEntityByName" );
373347 return null ;
374348 }
375349
@@ -381,9 +355,7 @@ public ResolvedEntityResult refreshResolvedEntity(
381355 @ Nonnull PolarisEntityType entityType ,
382356 long entityCatalogId ,
383357 long entityId ) {
384- callCtx
385- .getDiagServices ()
386- .fail ("illegal_method_in_transaction_workspace" , "refreshResolvedEntity" );
358+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "refreshResolvedEntity" );
387359 return null ;
388360 }
389361
@@ -392,9 +364,7 @@ public ResolvedEntityResult refreshResolvedEntity(
392364 public <T extends PolarisEntity & LocationBasedEntity >
393365 Optional <Optional <String >> hasOverlappingSiblings (
394366 @ Nonnull PolarisCallContext callContext , T entity ) {
395- callContext
396- .getDiagServices ()
397- .fail ("illegal_method_in_transaction_workspace" , "hasOverlappingSiblings" );
367+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "hasOverlappingSiblings" );
398368 return Optional .empty ();
399369 }
400370
@@ -406,9 +376,7 @@ Optional<Optional<String>> hasOverlappingSiblings(
406376 @ Nonnull List <PolarisEntityCore > policyCatalogPath ,
407377 @ Nonnull PolicyEntity policy ,
408378 Map <String , String > parameters ) {
409- callCtx
410- .getDiagServices ()
411- .fail ("illegal_method_in_transaction_workspace" , "attachPolicyToEntity" );
379+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "attachPolicyToEntity" );
412380 return null ;
413381 }
414382
@@ -419,18 +387,14 @@ Optional<Optional<String>> hasOverlappingSiblings(
419387 @ Nonnull PolarisEntityCore target ,
420388 @ Nonnull List <PolarisEntityCore > policyCatalogPath ,
421389 @ Nonnull PolicyEntity policy ) {
422- callCtx
423- .getDiagServices ()
424- .fail ("illegal_method_in_transaction_workspace" , "detachPolicyFromEntity" );
390+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "detachPolicyFromEntity" );
425391 return null ;
426392 }
427393
428394 @ Override
429395 public @ Nonnull LoadPolicyMappingsResult loadPoliciesOnEntity (
430396 @ Nonnull PolarisCallContext callCtx , @ Nonnull PolarisEntityCore target ) {
431- callCtx
432- .getDiagServices ()
433- .fail ("illegal_method_in_transaction_workspace" , "loadPoliciesOnEntity" );
397+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadPoliciesOnEntity" );
434398 return null ;
435399 }
436400
@@ -439,9 +403,7 @@ Optional<Optional<String>> hasOverlappingSiblings(
439403 @ Nonnull PolarisCallContext callCtx ,
440404 @ Nonnull PolarisEntityCore target ,
441405 @ Nonnull PolicyType policyType ) {
442- callCtx
443- .getDiagServices ()
444- .fail ("illegal_method_in_transaction_workspace" , "loadPoliciesOnEntityByType" );
406+ diagnostics .fail ("illegal_method_in_transaction_workspace" , "loadPoliciesOnEntityByType" );
445407 return null ;
446408 }
447409}
0 commit comments