-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Labels
kind/fixCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.
Milestone
Description
Describe the bug
All BE core dump after starting ROLLUP jobs. It only happens when we have some data in the table. Altering an empty table is fine.
To Reproduce
Steps to reproduce the behavior:
Step1:
Create table with
CREATE TABLE IF NOT EXISTS app.data_hourly
(
`hour` DATETIME NOT NULL,
`id1` LARGEINT NOT NULL,
`id2` LARGEINT NOT NULL,
`id3` LARGEINT NOT NULL,
`id4` LARGEINT NOT NULL,
`type1` LARGEINT NOT NULL,
`type2` LARGEINT NOT NULL,
`version` LARGEINT NOT NULL,
`day` DATE NOT NULL,
`cnt1` LARGEINT SUM,
`cnt2` LARGEINT SUM,
`cnt3` LARGEINT SUM,
`cnt4` LARGEINT SUM,
`cnt5` LARGEINT SUM,
`cnt6` LARGEINT SUM,
`cnt7` LARGEINT SUM,
`cnt8` LARGEINT SUM,
`cnt9` LARGEINT SUM,
`cnt10` LARGEINT SUM,
`cnt11` LARGEINT SUM,
`val` LARGEINT SUM,
`real_val` LARGEINT SUM
)
ENGINE=olap
AGGREGATE KEY(`hour`, `id1`, `id2`, `id3`, `id4`, `type1`, `type2`, `version`, `day`)
PARTITION BY RANGE(`day`)
(
PARTITION `p201901` VALUES LESS THAN ("2019-02-01"),
PARTITION `p201902` VALUES LESS THAN ("2019-03-01"),
PARTITION `p201903` VALUES LESS THAN ("2019-04-01"),
PARTITION `p201904` VALUES LESS THAN ("2019-05-01")
)
DISTRIBUTED BY HASH(`id4`) BUCKETS 96
PROPERTIES
(
"replication_num" = "2",
"storage_medium" = "SSD",
"bloom_filter_columns" = "id1,id2,id3,id4c"
);Step2:
Add some data with stream load
Step3:
ALTER TABLE
ALTER TABLE app.data_hourly ADD ROLLUP id4_hourly(hour,id4)
PROPERTIES("storage_type"="column");The error:
PC: @ 0xc893a7 doris::OLAPHeader::add_version()
*** SIGSEGV (@0x8) received by PID 1295675 (TID 0x7f411eb2d700) from PID 8; stack trace: ***
@ 0x7f417da6e0e0 (unknown)
@ 0xc893a7 doris::OLAPHeader::add_version()
@ 0xcaa97a doris::OLAPTable::register_data_source()
@ 0xceaa06 doris::SchemaChangeHandler::_alter_table()
@ 0xcf0939 doris::SchemaChangeHandler::_do_alter_table()
@ 0xcf1ac3 doris::SchemaChangeHandler::process_alter_table()
@ 0xc675ad doris::OLAPEngine::create_rollup_table()
@ 0x1164455 doris::TaskWorkerPool::_alter_table()
@ 0x116e345 doris::TaskWorkerPool::_alter_table_worker_thread_callback()
@ 0x7f417d824064 start_thread
@ 0x7f417db2163d (unknown)
And the core dump:
(gdb) bt
#0 0x0000000000c81a07 in __destroy<doris::PUniqueId*> (__last=<optimized out>, __first=0x0) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_construct.h:107
#1 _Destroy<doris::PUniqueId*> (__last=<optimized out>, __first=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_construct.h:137
#2 _Destroy<doris::PUniqueId*, doris::PUniqueId> (__last=0x2, __first=0x0) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_construct.h:206
#3 ~vector (this=0x4dc70ee8, __in_chrg=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_vector.h:434
#4 ~pair (this=<optimized out>, __in_chrg=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_pair.h:198
#5 destroy<std::pair<doris::TabletInfo const, std::vector<doris::PUniqueId> > > (this=<optimized out>, __p=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/ext/new_allocator.h:140
#6 destroy<std::pair<doris::TabletInfo const, std::vector<doris::PUniqueId> > > (__a=..., __p=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/alloc_traits.h:487
#7 _M_destroy_node (this=0xa90caa303d81fa0, __p=0x4dc70eb8) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:650
#8 _M_drop_node (this=0xa90caa303d81fa0, __p=0x4dc70eb8) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:658
#9 _M_erase (__x=0x4dc70eb8, this=0xa90caa303d81fa0) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:1858
#10 ~_Rb_tree (this=0xa90caa303d81fa0, __in_chrg=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:949
#11 ~map (this=<optimized out>, __in_chrg=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_map.h:294
#12 ~pair (this=<optimized out>, __in_chrg=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_pair.h:198
#13 destroy<std::pair<std::pair<long, long> const, std::map<doris::TabletInfo, std::vector<doris::PUniqueId> > > > (this=<optimized out>, __p=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/ext/new_allocator.h:140
#14 destroy<std::pair<std::pair<long, long> const, std::map<doris::TabletInfo, std::vector<doris::PUniqueId> > > > (__a=..., __p=<optimized out>) at /home/litao.91/.local/include/c++/7.3.0/bits/alloc_traits.h:487
#15 _M_destroy_node (this=0x824ae30, __p=0x824af20) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:650
#16 _M_drop_node (this=0x824ae30, __p=0x824af20) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:658
#17 _M_erase (__x=0x824af20, this=0x824ae30) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:1858
#18 _M_erase (__x=0x824afd0, this=0x824ae30) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:1856
#19 _M_erase (__x=0x824b020, this=0x824ae30) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:1856
#20 _M_erase (__x=0x3566640 <typeinfo for brpc::FlagsRequest>, this=0x824ae30) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:1856
#21 _M_erase (__x=0x824b0b8, this=0x824ae30) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:1856
#22 std::_Rb_tree<std::pair<long, long>, std::pair<std::pair<long, long> const, std::map<doris::TabletInfo, std::vector<doris::PUniqueId, std::allocator<doris::PUniqueId> >, std::less<doris::TabletInfo>, std::allocator<std::pair<doris::TabletInfo const, std::vector<doris::PUniqueId, std::allocator<doris::PUniqueId> > > > > >, std::_Select1st<std::pair<std::pair<long, long> const, std::map<doris::TabletInfo, std::vector<doris::PUniqueId, std::allocator<doris::PUniqueId> >, std::less<doris::TabletInfo>, std::allocator<std::pair<doris::TabletInfo const, std::vector<doris::PUniqueId, std::allocator<doris::PUniqueId> > > > > > >, std::less<std::pair<long, long> >, std::allocator<std::pair<std::pair<long, long> const, std::map<doris::TabletInfo, std::vector<doris::PUniqueId, std::allocator<doris::PUniqueId> >, std::less<doris::TabletInfo>, std::allocator<std::pair<doris::TabletInfo const, std::vector<doris::PUniqueId, std::allocator<doris::PUniqueId> > > > > > > >::_M_erase (this=0x824ae30, __x=0xcd5242 <doris::RowCursor::full_key_cmp(doris::RowCursor const&) const+34>) at /home/litao.91/.local/include/c++/7.3.0/bits/stl_tree.h:1856
#23 0x0000000000ca2fda in _M_construct_aux<char const*> (__end=<optimized out>, __beg=0x7f342b84fff0 "H\023\323", <incomplete sequence \320>, this=0x7f342b84fe40) at /home/litao.91/.local/include/c++/7.3.0/bits/basic_string.h:236
#24 _M_construct<char const*> (__end=<optimized out>, __beg=0x7f342b84fff0 "H\023\323", <incomplete sequence \320>, this=0x7f342b84fe40) at /home/litao.91/.local/include/c++/7.3.0/bits/basic_string.h:255
#25 basic_string (__a=..., __s=0x7f342b84fff0 "H\023\323", <incomplete sequence \320>, this=0x7f342b84fe40) at /home/litao.91/.local/include/c++/7.3.0/bits/basic_string.h:511
#26 construct_file_name (suffix=..., segment=2, segment_group_id=1, version_hash=136621568, version=<synthetic pointer>, this=<optimized out>) at /home/litao.91/repos/incubator-doris/be/src/olap/olap_table.cpp:2038
#27 doris::OLAPTable::construct_incremental_data_file_path[abi:cxx11](std::pair<long, long>, long, int, int) const (this=<optimized out>, version=..., version_hash=136621568, segment_group_id=1, segment=2) at /home/litao.91/repos/incubator-doris/be/src/olap/olap_table.cpp:1996
#28 0x0000000000ce3066 in doris::RowBlockChanger::change_row_block (this=0x824b0e8, df_type=<optimized out>, ref_block=..., data_version=<optimized out>, mutable_block=0x773ad10, filted_rows=<optimized out>) at /home/litao.91/repos/incubator-doris/be/src/olap/schema_change.cpp:314
#29 0x0000000000ce8f99 in ?? () at /home/litao.91/.local/include/c++/7.3.0/bits/shared_ptr_base.h:684
#30 0x0000000000000000 in ?? ()
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
Smartphone (please complete the following information):
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
Additional context
Add any other context about the problem here.
Metadata
Metadata
Assignees
Labels
kind/fixCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.