Skip to content

[Bug] be coredump due to add & build index on a newly added column #27156

@xiaokang

Description

@xiaokang

Search before asking

  • I had searched in the issues and found no similar issues.

Version

2.0.2

What's Wrong?

be coredump due to add & build index on a newly added column

What You Expected?

build index finish with index file created

How to Reproduce?

  1. create table
create table testindex (
id INT,
s STRING
)
DUPLICATE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 1 
PROPERTIES("replication_num"="1");
  1. insert data
    insert into testindex values(1, 'hello world');

  2. add column
    alter table testindex add column s1 varchar(50) default null after s;

  3. add & build index

alter table testindex add index idx_s1(s1) USING INVERTED;
build index idx_s1 on testindex;
  1. be core
be.WARNING
W1117 08:57:41.239485 905182 index_builder.cpp:172] referenced column was missing. [column=s1 referenced_column=-1]

be.out
*** Query id: 0-0 ***
*** tablet id: 0 ***
*** Aborted at 1700182661 (unix time) try "date -d @1700182661" if you are using GNU date ***
*** Current BE git commitID: 627723e ***
*** SIGSEGV address not mapped to object (@0xc00030) received by PID 904220 (TID 905182 OR 0x7f6387f5f700) from PID 12582960; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /root/src/doris-2.0/be/src/common/signal_handler.h:417
 1# os::Linux::chained_handler(int, siginfo*, void*) in /mnt/disk2/xiaokang/opt/java/jre/lib/amd64/server/libjvm.so
 2# JVM_handle_linux_signal in /mnt/disk2/xiaokang/opt/java/jre/lib/amd64/server/libjvm.so
 3# signalHandler(int, siginfo*, void*) in /mnt/disk2/xiaokang/opt/java/jre/lib/amd64/server/libjvm.so
 4# 0x00007F655FE00570 in /lib64/libc.so.6
 5# doris::vectorized::OlapBlockDataConvertor::convert_column_data(unsigned long) at /root/src/doris-2.0/be/src/vec/olap/olap_data_convertor.cpp:223
 6# doris::IndexBuilder::_write_inverted_index_data(std::shared_ptr<doris::TabletSchema>, int, doris::vectorized::Block*) at /root/src/doris-2.0/be/src/olap/task/index_builder.cpp:268
 7# doris::IndexBuilder::handle_single_rowset(std::shared_ptr<doris::RowsetMeta>, std::vector<std::shared_ptr<doris::segment_v2::Segment>, std::allocator<std::shared_ptr<doris::segment_v2::Segment> > >&) at /root/src/doris-2.0/be/src/olap/task/index_builder.cpp:231
 8# doris::IndexBuilder::handle_inverted_index_data() at /root/src/doris-2.0/be/src/olap/task/index_builder.cpp:398
 9# doris::IndexBuilder::do_build_inverted_index() in /mnt/disk2/xiaokang/pkg/apache-doris-2.0.3-rc03-bin-x64/be/lib/doris_be
10# doris::StorageEngine::_handle_index_change(std::shared_ptr<doris::IndexBuilder>) at /root/src/doris-2.0/be/src/olap/olap_server.cpp:1040
11# doris::StorageEngine::process_index_change_task(doris::TAlterInvertedIndexReq const&) at /root/src/doris-2.0/be/src/olap/olap_server.cpp:1034
12# doris::EngineIndexChangeTask::execute() at /root/src/doris-2.0/be/src/olap/task/engine_index_change_task.cpp:43
13# doris::StorageEngine::execute_task(doris::EngineTask*) at /root/src/doris-2.0/be/src/olap/storage_engine.cpp:1245
14# doris::TaskWorkerPool::_alter_inverted_index_worker_thread_callback() at /root/src/doris-2.0/be/src/agent/task_worker_pool.cpp:354
15# doris::ThreadPool::dispatch_thread() in /mnt/disk2/xiaokang/pkg/apache-doris-2.0.3-rc03-bin-x64/be/lib/doris_be
16# doris::Thread::supervise_thread(void*) at /root/src/doris-2.0/be/src/util/thread.cpp:499
17# start_thread at pthread_create.c:480
18# clone at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Anything Else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions