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

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   In the web-v2 UI, editing a catalog that has optional (non-required) 
properties like warehouse causes those properties to be silently removed. This 
results in a 400 error from the backend when warehouse is required for the 
catalog to function correctly.
   
   The root cause is in CreateCatalogDialog.js. During edit mode, the 
isHidden() function's default case hides all non-required properties that 
aren't region or location. The getSubmitData() function then filters out hidden 
props via .filter(item => !isHidden(item)), so they are excluded from the 
submitted data. When genUpdates() compares the original catalog properties 
against the submitted properties, it generates a removeProperty("warehouse") 
update, which the backend rejects with a 400 error.
   
   ### Error message and/or stacktrace
   
   Backend returns HTTP 400 when attempting to save the edited catalog. The 
warehouse property is removed from the update payload even though the user did 
not change or remove it.
   
   
   
   ### How to reproduce
   
   How to reproduce:
   
   Start Gravitino server and web-v2 UI on main branch
   Create a lakehouse-iceberg catalog with hive backend, setting uri and 
warehouse properties
   Click edit on the catalog
   Change only the comment field (or any visible field)
   Click submit
   Observe 400 error — the warehouse property was removed from the update 
request
   
   
   ### Additional context
   
   
https://github.com/user-attachments/assets/a1ecbf84-5a7e-4a55-8e44-82db2b16ca03


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