lasdf1234 opened a new pull request, #11914:
URL: https://github.com/apache/gravitino/pull/11914
### What changes were proposed in this pull request?
- Add `externalId` support to Group entity, DTO, PO, and relational storage
(mapper/SQL).
- Add group external-id APIs: `addGroup(metalake, group, externalId)`,
`getGroupByExternalId`, and `removeGroupByExternalId`.
- Wire external-id operations through `UserGroupExternalManager`,
`SupportsExternalIdOperations`, and `GroupMetaService`.
- Align group external-id semantics with merged user SCIM APIs in #11848
(NameIdentifier-based lookup, `removeGroupByExternalId` returns `false` when
missing).
Fix: #11834
Part of epic #11830. User external-id work is already in #11848.
### Why are the changes needed?
SCIM and external identity providers need stable group identifiers
independent of Gravitino group names. This completes the group side of the core
platform prerequisites for user/group access control.
### Does this PR introduce _any_ user-facing change?
1. New `Group.externalId()` API field.
2. New `AccessControlDispatcher` methods:
- `addGroup(String metalake, String group, String externalId)`
- `getGroupByExternalId(String metalake, String externalId)`
- `removeGroupByExternalId(String metalake, String externalId)`
### How was this patch tested?
```bash
export
JAVA_HOME=/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home
./gradlew :core:test \
--tests "org.apache.gravitino.authorization.TestAccessControlManager" \
--tests
"org.apache.gravitino.storage.relational.service.TestGroupMetaService" \
--tests "org.apache.gravitino.authorization.TestAuthorizationUtils" \
--tests "org.apache.gravitino.storage.memory.TestMemoryEntityStore" \
-PskipITs
```
Made with [Cursor](https://cursor.com)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]