yuqi1129 opened a new issue, #14284:
URL: https://github.com/apache/gravitino/issues/14284

   ### Describe the subtask
   
   Managed tables store columns by their top-level name only, but nested field 
changes (`fieldName.length > 1`) are not rejected:
   
   - `ManagedTableOperations` turns `addColumn(["s", "x"])` into a new 
top-level column named `s.x`, and fails other nested changes with "column not 
found".
   - `LanceTableOperations` applies a nested rename or drop to the Lance 
dataset first, then the metadata update fails, leaving the dataset and the 
metadata out of sync.
   - Lance validates each change only when it reaches it, so a request whose 
later change is invalid (e.g. a non-nullable added column) has already applied 
its earlier changes to the dataset.
   
   Fix: reject nested column changes in `ManagedTableOperations`, and validate 
every change of a Lance request before opening the dataset.
   
   ### Parent issue
   
   https://github.com/apache/gravitino/issues/13303
   


-- 
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]

Reply via email to