visit2rahul opened a new pull request, #16296: URL: https://github.com/apache/iceberg/pull/16296
Closes #13580
## Summary
Implements the core request, response, and model objects for the IRC
Events endpoint
as defined in the REST Catalog specification (PR #12584).
### Request / Response
- `QueryEventsRequest` — all filter fields (continuation token, page size,
timestamp,
operation types, catalog objects by name/ID, object types, custom
filters)
- `QueryEventsResponse` — pagination token, highest processed timestamp,
event list
### Event Model
- `Event` — event ID, request ID, request event count, timestamp, actor,
and
polymorphic operation
- `CatalogOperation` — base interface with `operationType()` discriminator
- `CatalogOperationParser` — polymorphic serialization/deserialization
with
forward compatibility for unknown operation types
### All 13 Operation Types
- **Namespace:** `CreateNamespaceOperation`, `DropNamespaceOperation`,
`UpdateNamespacePropertiesOperation`
- **Table:** `CreateTableOperation`, `RegisterTableOperation`,
`DropTableOperation`,
`UpdateTableOperation`, `RenameTableOperation`
- **View:** `CreateViewOperation`, `DropViewOperation`,
`UpdateViewOperation`,
`RenameViewOperation`
- **Extension:** `CustomOperation` (for catalog-specific `x-` prefixed
operations)
### Serialization
- Parser classes for request, response, and events using
`JsonGenerator`/`JsonNode`
- Reuses existing `TableIdentifierParser`, `MetadataUpdateParser`, and
`UpdateRequirementParser`
- Jackson serializer/deserializer registration in `RESTSerializers`
## Test Plan
- [x] Round-trip serialization tests for all 13 operation types
- [x] Round-trip tests for `QueryEventsRequest` (empty, partial, all
fields)
- [x] Round-trip tests for `QueryEventsResponse` (with events, empty)
- [x] Forward compatibility test — unknown operation types deserialize
gracefully
- [x] Null/error input handling tests
- [x] `./gradlew :iceberg-core:compileJava` passes
- [x] `./gradlew :iceberg-core:test` passes (17 new tests)
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
