feat: support TiCI vector query path#10754
feat: support TiCI vector query path#10754kolafish wants to merge 4 commits intopingcap:feature/ftsfrom
Conversation
|
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (3)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
usearch 2.18.0 (pulled in by tici submodule) compiles simsimd/c/lib.c which triggers a segfault in clang 17.0.6 on AVX-512 ICE/SAPPHIRE/GENOA intrinsics. Setting CC=gcc for the cargo build only affects this single C file while keeping all SIMD targets enabled.
- Add RUNTIME_CHECK guards to getMatchExpr/getVectorQueryInfo for mode safety - Remove overly broad null-string check that would crash on any null string column in vector mode, not just vector columns - Make missing vector column check unconditional and use proper RUNTIME_CHECK_MSG pattern instead of RUNTIME_CHECK_MSG(false, ...) - Add reserve() for query_vec copy in readVector() - Remove redundant tici-vector-plan.md (tici-hybrid-vector-plan.md is the canonical doc)
|
@kolafish: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Summary
tipb.IndexScan.tici_vector_query_infothroughTiCIScan,StorageTantivy,TiCIReadTaskPool, andTantivyInputStreamtici-search-lib::search_vector(...)for vector scans and keepsearch(...)for expression/fulltext scanscontrib/ticiandcontrib/tipbto vector-capable upstream commitsdocs/Scope
This PR intentionally targets the current vector-only rollout.
Pushed-down
vector + filterremains part of the long-term payload shape, but producer-side population is still deferred.Details
fts_query_infoortici_vector_query_infoin TiFlash TiCI scan planningtop_k,column_id,dimension, metric,query_vectorbyte length, and finite float values before crossing the FFI boundaryFLOAT/DOUBLEresult fields andArray(Float32)vector payloads from TiCI rowstici_search_libUpstream dependencies
Validation
dbms/src/Server/tiflashsuccessfully on macOS incmake-build-codex-release