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]

Reply via email to