u70b3 commented on issue #66497: URL: https://github.com/apache/doris/issues/66497#issuecomment-5275004917
Implementation errata for v5 (found during PR #66671 verification; recorded here instead of respinning the doc): 1. **Index type vocabulary (§8.1/§8.2/§7)**: on pinned Java SDK 9.1.0-beta.3, `getIndexes()` reports the umbrella manifest type (`VECTOR`) while `describeIndices()` derives the specific algorithm (`IVF_PQ`); scalar names differ in case/underscores (`BTREE` vs `BTree`). Verified with the regression fixture's exact `createIndex(IndexType.IVF_PQ)` call. Read literally, §8.1's "same physical type" invariant fails every healthy vector index. The implementation normalizes case/underscores and accepts the umbrella families (physical `VECTOR` ↔ vector algorithms, `SCALAR` ↔ scalar algorithms); internal types never match. The physical TVF shows the raw manifest value per §8.2; logical surfaces show the describe value. The mutation-side `IF NOT EXISTS` comparison (§7) must reuse this normalized rule. 2. **`LANCE_INDEX_METADATA_INCONSISTENT` scope (§8.1)**: orphan / missing-entry / mismatch / duplicate-UUID produce INCONSISTENT; normalize-time structural failures (unknown field id, exact duplicate name, malformed JSON, bound violations) surface as `LANCE_INDEX_METADATA_READ_FAILED`. Both typed and fail-closed. 3. **System indexes (§8.1)**: the pinned SDK list path returns `__lance_frag_reuse` / `__lance_mem_wal` unfiltered, and a fragment-reuse entry carries no fields. The implementation filters both names at the normalization boundary so compacted datasets stay inspectable. 4. Minor: the 256 exact-name bound also applies to the physical TVF (§8.1 scopes it to logical reads); intentional shared defensive bound. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
