jarredhj0214 opened a new pull request, #12288:
URL: https://github.com/apache/gravitino/pull/12288
### What changes were proposed in this pull request?
This PR adds the shared foundation for best-effort bulk access-control APIs
and introduces bulk user operations.
Changes include:
- Add shared bulk request/response DTOs for item-level errors and summary
counts.
- Add `gravitino.server.bulk.maxItems`, defaulting to 100.
- Add bulk user add/remove REST APIs.
- Register the bulk REST resource.
- Add OpenAPI definitions and access-control documentation for bulk user
APIs.
- Add tests for bulk user best-effort behavior, duplicate-name validation,
and request size limit validation.
### Why are the changes needed?
Bulk access-control operations are needed to efficiently add or remove
multiple users under a metalake while preserving item-level best-effort results.
Fix: #12287
### Does this PR introduce _any_ user-facing change?
Yes.
New REST APIs:
- `POST /api/bulk/metalakes/{metalake}/users/add`
- `POST /api/bulk/metalakes/{metalake}/users/remove`
New server configuration:
- `gravitino.server.bulk.maxItems`, default value: `100`
### How was this patch tested?
-
`JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home
./gradlew :server:spotlessApply :common:spotlessApply :server:test --tests
org.apache.gravitino.server.web.rest.TestBulkOperations -PskipITs`
-
`JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home
./gradlew :docs:build`
- `git diff --check`
--
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]