pingcap / pingcap/tiflash

VectorSearch Query failed when remote read happens

Open
#10,296 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component/storage severity/major type/bug
Dominant language
C++
Stars
1k
Forks
423
Avg merge
1d 15h
Merged PRs (30d)
24

Description

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)
vectordbbench tidb --host 10.2.12.81 --port 8020 --case-type Performance768D1M
2. What did you expect to see? (Required)
3. What did you see instead (Required)
[2025/07/10 03:34:14.949 +08:00] [ERROR] [MPPTask.cpp:655] ["task running meets error: Code: 49, e.displayText() = DB::Exception: const ColumnInfo &TiDB::TableInfo::getColumnInfo(const ColumnID) const: Invalidate column id -2000 for table vector_bench_test, e.what() = DB::Exception, Stack trace:
  0x55f27a315033    DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int) [tiflash+37519411]
                    dbms/src/Common/StackTrace.cpp:23
  0x55f280f2875a    TiDB::TableInfo::getColumnInfo(long) const [tiflash+150845274]
                    dbms/src/TiDB/Schema/TiDB.cpp:1316
  0x55f28187d53a    DB::RemoteRequest::build(std::__1::list<std::__1::reference_wrapper<DB::RegionInfo const>, std::__1::allocator<std::__1::reference_wrapper<DB::RegionInfo const>>> const&, DB::DAGContext&, DB::TiDBTableScan const&, TiDB::TableInfo const&, DB::FilterConditions const&, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Logger> const&) [tiflash+160630074]
                    dbms/src/Flash/Coprocessor/RemoteRequest.cpp:82
  0x55f28185d5ee    DB::DAGStorageInterpreter::buildRemoteRequests(std::__1::shared_ptr<DB::DM::ScanContext> const&) [tiflash+160499182]
                    dbms/src/Flash/Coprocessor/DAGStorageInterpreter.cpp:1633
  0x55f28185ab80    DB::DAGStorageInterpreter::executeImpl(DB::PipelineExecutorContext&, DB::PipelineExecGroupBuilder&) [tiflash+160488320]
                    dbms/src/Flash/Coprocessor/DAGStorageInterpreter.cpp:371
  0x55f28184f39b    DB::PhysicalTableScan::buildPipeline(DB::PipelineBuilder&, DB::Context&, DB::PipelineExecutorContext&) [tiflash+160441243]
                    dbms/src/Flash/Coprocessor/DAGStorageInterpreter.cpp:317
  0x55f281294f42    DB::PhysicalPlanNode::buildPipeline(DB::PipelineBuilder&, DB::Context&, DB::PipelineExecutorContext&) [tiflash+154435394]
                    dbms/src/Flash/Planner/PhysicalPlanNode.cpp:142
  0x55f281294f42    DB::PhysicalPlanNode::buildPipeline(DB::PipelineBuilder&, DB::Context&, DB::PipelineExecutorContext&) [tiflash+154435394]
                    dbms/src/Flash/Planner/PhysicalPlanNode.cpp:142
  0x55f281294f42    DB::PhysicalPlanNode::buildPipeline(DB::PipelineBuilder&, DB::Context&, DB::PipelineExecutorContext&) [tiflash+154435394]
                    dbms/src/Flash/Planner/PhysicalPlanNode.cpp:142
  0x55f2812844e5    DB::PhysicalPlan::toPipeline(DB::PipelineExecutorContext&, DB::Context&) [tiflash+154367205]
                    dbms/src/Flash/Planner/PhysicalPlan.cpp:335
  0x55f28121ca1c    DB::PipelineExecutor::PipelineExecutor(std::__1::shared_ptr<MemoryTracker> const&, DB::AutoSpillTrigger*, std::__1::function<void (std::__1::shared_ptr<DB::OperatorSpillContext> const&)> const&, DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) [tiflash+153942556]
                    dbms/src/Flash/Executor/PipelineExecutor.cpp:47
  0x55f28111a302    DB::queryExecute(DB::Context&, bool) [tiflash+152883970]
                    /usr/local/bin/../include/c++/v1/__memory/unique_ptr.h:689
  0x55f2811beca1    DB::MPPTask::runImpl() [tiflash+153558177]
                    dbms/src/Flash/Mpp/MPPTask.cpp:484
  0x55f28017cfb5    auto DB::wrapInvocable<std::__1::function<void ()>>(bool, std::__1::function<void ()>&&)::'lambda'()::operator()() [tiflash+136511413]
                    /usr/local/bin/../include/c++/v1/__functional/function.h:517
  0x55f27a40ba06    DB::DynamicThreadPool::executeTask(std::__1::unique_ptr<DB::IExecutableTask, std::__1::default_delete<DB::IExecutableTask>>&) [tiflash+38529542]
                    dbms/src/Common/DynamicThreadPool.cpp:124
  0x55f27a40b44b    DB::DynamicThreadPool::fixedWork(unsigned long) [tiflash+38528075]
                    dbms/src/Common/DynamicThreadPool.cpp:138
  0x55f27a40d06f    void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, std::__1::thread DB::ThreadFactory::newThread<void (DB::DynamicThreadPool::*)(unsigned long), DB::DynamicThreadPool*, unsigned long&>(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void (DB::DynamicThreadPool::*&&)(unsigned long), DB::DynamicThreadPool*&&, unsigned long&)::'lambda'(auto&&...), DB::DynamicThreadPool*, unsigned long>>(void*) [tiflash+38535279]
                    /usr/local/bin/../include/c++/v1/__type_traits/invoke.h:308
  0x7f8a16649802    start_thread [libc.so.6+653314]
  0x7f8a165e9450    clone3 [libc.so.6+259152]"] [source="MPP<gather_id:1, query_ts:1752089654918470885, local_query_id:24, server_id:46, start_ts:459299790495678468,task_id:2>"] [thread_id=1075]
4. What is your TiFlash version? (Required)

master

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run the reported vectordbbench command and start by reading DB::RemoteRequest::build in dbms/src/Flash/Coprocessor/RemoteRequest.cpp and TiDB::TableInfo::getColumnInfo in dbms/src/TiDB/Schema/TiDB.cpp. Trace how the remote read supplies the column ID and use the stack trace as the starting point. Done means the VectorSearch query completes without the invalid column ID error.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.