-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
Describe the bug
Fix segment group add zone map bug when schema change.
(1) WrapperField null point check
(2) in DUP_KEYS, let _zone_maps index consistent with _schema column index
To Reproduce
core dump file
Program terminated with signal SIGSEGV, Segmentation fault.
#0 is_null (this=0x0) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/wrapper_field.h:84
84 /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/wrapper_field.h: No such file or directory.
(gdb) bt
#0 is_null (this=0x0) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/wrapper_field.h:84
#1 direct_copy<doris::WrapperField, doris::WrapperField> (this=0x69542e10, src=..., dst=0x10ad33f80) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/field.h:156
#2 copy (field=0x0, this=0x10ad33f80) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/wrapper_field.h:101
#3 doris::SegmentGroup::add_zone_maps_for_linked_schema_change (this=0xe4dea300, zone_map_fields=..., schema_mapping=...)
at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/rowset/segment_group.cpp:278
#4 0x0000000000f39e98 in doris::AlphaRowsetWriter::add_rowset_for_linked_schema_change (this=0x5364f2c0, rowset=..., schema_mapping=...)
at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/rowset/alpha_rowset_writer.cpp:130
#5 0x00000000015a67bc in doris::LinkedSchemaChange::process (this=, rowset_reader=..., new_rowset_writer=0x5364f2c0, new_tablet=..., base_tablet=...)
at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/schema_change.cpp:758
#6 0x00000000015b2be6 in doris::SchemaChangeHandler::_convert_historical_rowsets (sc_params=...) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/schema_change.cpp:1738
#7 0x00000000015b522d in doris::SchemaChangeHandler::_do_process_alter_tablet_v2 (this=this@entry=0x7f10474f7d30, request=...)
at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/schema_change.cpp:1416
#8 0x00000000015b6232 in doris::SchemaChangeHandler::process_alter_tablet_v2 (this=this@entry=0x7f10474f7d30, request=...)
at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/schema_change.cpp:1242
#9 0x00000000015e897f in doris::EngineAlterTabletTask::execute (this=0x7f10474f7f80) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/task/engine_alter_tablet_task.cpp:39
#10 0x0000000000e1831e in doris::StorageEngine::execute_task (this=0x5088780, task=task@entry=0x7f10474f7f80) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/olap/storage_engine.cpp:913
#11 0x0000000001411a61 in doris::TaskWorkerPool::_alter_tablet (this=this@entry=0xb90e3200, worker_pool_this=worker_pool_this@entry=0xb90e3200, agent_task_req=..., signature=signature@entry=13810496,
task_type=task_type@entry=doris::TTaskType::ALTER, finish_task_request=finish_task_request@entry=0x7f10474f8050)
at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/agent/task_worker_pool.cpp:514
#12 0x000000000141a8e7 in doris::TaskWorkerPool::_alter_tablet_worker_thread_callback (arg_this=0xb90e3200) at /home/disk6/baidu-doris/baidu/bdg/doris-0.12/palo-core/be/src/agent/task_worker_pool.cpp:466
#13 0x00007f10dc37e1c3 in start_thread () from /opt/compiler/gcc-4.8.2/lib64/libpthread.so.0
#14 0x00007f10dc67b12d in clone () from /opt/compiler/gcc-4.8.2/lib64/libc.so.6