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]
