nevzheng opened a new pull request, #12471:
URL: https://github.com/apache/gravitino/pull/12471

   ## Summary
   
   Design-doc-only SPIP for previewing Gravitino API and Iceberg REST 
semantics. Two orthogonal gates; both required to expose experimental behavior. 
No runtime code.
   
   |           | Approach A (env)                                               
                                      | Approach B (client)                     
              |
   | --------- | 
----------------------------------------------------------------------------------------------------
 | ----------------------------------------------------- |
   | Mechanism | `gravitino.experimental.<feature>.*` in `gravitino.conf` (`# 
EXPERIMENTAL:`, `enable` default false) | `X-Gravitino-Experiments` = set of 
**enabled** tokens |
   | Owner     | Operator                                                       
                                      | Client / engine                         
              |
   
   `expose_experimental(f) = A.enable(f) ∧ B.contains(f)`
   
   | A.enable | B token       | Result             |
   | -------- | ------------- | ------------------ |
   | on       | absent        | Stable API         |
   | on       | enabled token | Experimental       |
   | off      | absent        | Stable API         |
   | off      | token listed  | Unexpected feature |
   
   Disabled, unknown, and post-stabilize stale tokens reject the same way. The 
header is not authz; stable APIs must not depend on it.
   
   ## Context
   
   Gravitino has no shared preview control plane today. This is the gate 
framework only (illustrative tokens: read-restrictions, materialized-views). 
Out of scope: authz, per-feature models, OpenFeature / dynamic configuration, 
parallel experimental routes.
   
   Welcome feedback on the approach, semantics, and other project prior art.
   
   ## Verification
   
   N/A — no runtime change. Manual and LLM review to simulate usage/UX; 
determined reasonable.
   
   Nevin
   Sent from my 🤖 (Cursor)
   


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