chrevanthreddy opened a new pull request, #19310:
URL: https://github.com/apache/hudi/pull/19310

   ### Describe the issue this Pull Request addresses
   
   Resolves #19096 (umbrella: #19094, RFC-109)
   
   First foundational slice of RFC-109 (Hudi Native Vector Index): the option 
surface and validation for vector indexes. This PR is intentionally scoped to 
the self-contained option/config layer so it compiles and tests standalone; the 
DDL command dispatch, MDT schema/payload, and bootstrap execution land in 
dependent follow-up PRs (#19097, #19099, …) where their partition-type and 
executor dependencies are introduced.
   
   ### Summary and Changelog
   
   - Add `org.apache.hudi.common.index.vector.VectorIndexOptions` — the full 
`OPTIONS(...)` key surface for `CREATE INDEX ... USING VECTOR` (dimension, 
metric, algorithm, quantizer, cluster/probe/refine counts, RaBitQ 
bits/seed/storage/posting layout, search-time flags) with typed accessors, 
defaults, and early validation.
   - Add `VectorIndexType` — routing algorithm enum (`IVFFLAT`, `IVFPQ_HNSW`) 
with case/separator-insensitive parsing.
   - Add `VectorDistanceMetric` — `COSINE` / `L2` / `DOT_PRODUCT` distance enum 
(min-heap-consistent distances) with parsing.
   - Add `PARTITION_NAME_VECTOR_INDEX` / `PARTITION_NAME_VECTOR_INDEX_PREFIX` 
constants to `HoodieTableMetadataUtil`.
   - Add `TestVectorIndexOptions` — 9 unit tests covering defaults, 
metric/algorithm parsing, and early-failure on invalid configs (missing 
dimension, invalid metric, out-of-range RaBitQ bits).
   
   ### Impact
   
   No behavioral impact on existing tables or code paths. Adds new, 
unreferenced option/enum classes plus two constants. No schema, writer, reader, 
or DDL execution changes in this PR.
   
   ### Risk Level
   
   none
   
   New self-contained classes + two constants + unit tests; nothing wires into 
existing runtime paths yet.
   
   ### Documentation Update
   
   Option semantics are documented as Javadoc on each option key. The 
user-facing RFC document is tracked separately (see #19309). No site docs 
change required until the feature is user-invokable.
   
   ### Contributor's checklist
   
   - [x] Read through [contributor's 
guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [x] Change Logs and Impact described above
   - [x] Necessary doc changes done or have another open PR
   - [x] For large changes, please consider breaking it into sub-tasks under an 
umbrella issue (#19094)
   


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