litao91 opened a new issue #784: Adding ROLLUP results in BE core dump URL: https://github.com/apache/incubator-doris/issues/784 **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 ```sql 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 ```sql 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.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
