apache / doris

Apache Doris is an easy-to-use, high performance and unified analytics database.
https://doris.apache.org
Apache License 2.0
12.26k stars 3.2k forks source link

[Bug] unique model schema add value column as json type emerge error #31270

Open cjj2010 opened 6 months ago

cjj2010 commented 6 months ago

Search before asking

Version

master

What's Wrong?

When add a new value column on unique model schema occur error

java.sql.SQLException: errCode = 2, detailMessage = (192.168.22.184)[CANCELLED]failed to initialize storage reader. tablet=52102, res=[E-3110][E-207]FieldTypeTraits<OLAP_FIELD_TYPE_JSONB> not support from_string

        0#  doris::Status doris::Status::Error<-207, true>(std::basic_string_view<char, std::char_traits<char> >) at /home/bjj/disk/work/doris/doris/be/src/common/status.h:382
        1#  doris::FieldTypeTraits<(doris::FieldType)34>::from_string(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int) at /home/bjj/disk/work/doris/doris/be/src/olap/types.h:1473
        2#  doris::ScalarTypeInfo::from_string(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int) const at /home/bjj/disk/work/doris/doris/be/src/olap/types.h:120
        3#  doris::segment_v2::DefaultValueColumnIterator::init(doris::segment_v2::ColumnIteratorOptions const&) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/column_reader.cpp:1359
        4#  doris::segment_v2::new_default_iterator(doris::TabletColumn const&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete<doris::segment_v2::ColumnIterator> >*) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/segment.cpp:441
        5#  doris::segment_v2::Segment::new_column_iterator(doris::TabletColumn const&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete<doris::segment_v2::ColumnIterator> >*, doris::StorageReadOptions const*) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/segment.cpp:555
        6#  doris::segment_v2::SegmentIterator::_init_return_column_iterators() at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1238
        7#  doris::segment_v2::SegmentIterator::init_iterators() at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:355
        8#  doris::segment_v2::SegmentIterator::_init_impl(doris::StorageReadOptions const&) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:328
        9#  doris::segment_v2::SegmentIterator::init(doris::StorageReadOptions const&) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:269
        10# doris::segment_v2::Segment::new_iterator(std::shared_ptr<doris::Schema const>, doris::StorageReadOptions const&, std::unique_ptr<doris::RowwiseIterator, std::default_delete<doris::RowwiseIterator> >*) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/segment_v2/segment.cpp:0
        11# doris::BetaRowsetReader::get_segment_iterators(doris::RowsetReaderContext*, std::vector<std::unique_ptr<doris::RowwiseIterator, std::default_delete<doris::RowwiseIterator> >, std::allocator<std::unique_ptr<doris::RowwiseIterator, std::default_delete<doris::RowwiseIterator> > > >*, bool) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:250
        12# doris::BetaRowsetReader::_init_iterator() at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:281
        13# doris::BetaRowsetReader::_init_iterator_once()::$_0::operator()() const at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:276
        14# doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}::operator()() const at /home/bjj/disk/work/doris/doris/be/src/util/once.h:60
        15# void std::__invoke_impl<void, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::__invoke_other, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
        16# std::__invoke_result<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>::type std::__invoke<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96
        17# std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&)::{lambda()#1}::operator()() const at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:902
        18# std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&)::{lambda()#1}>(doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&)::{lambda()#1}::operator()() const at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:836
        19# std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&)::{lambda()#1}>(doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&)::{lambda()#1}::__invoke() at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:836
        20# ?
        21# __gthread_once(int*, void (*)()) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr-default.h:700
        22# void std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:907
        23# doris::Status doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0) at /home/bjj/disk/work/doris/doris/be/src/util/once.h:59
        24# doris::BetaRowsetReader::_init_iterator_once() at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:276
        25# doris::BetaRowsetReader::next_block(doris::vectorized::Block*) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:316
        26# doris::vectorized::VCollectIterator::Level0Iterator::_refresh() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.h:0
        27# doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:512
        28# doris::vectorized::VCollectIterator::Level0Iterator::ensure_first_row_ref() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:491
        29# doris::vectorized::VCollectIterator::Level1Iterator::ensure_first_row_ref() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:690
        30# doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > >&) at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:183
        31# doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams const&) at /home/bjj/disk/work/doris/doris/be/src/vec/olap/block_reader.cpp:157
        32# doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams const&) at /home/bjj/disk/work/doris/doris/be/src/vec/olap/block_reader.cpp:235
        33# doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) at /home/bjj/disk/work/doris/doris/be/src/vec/exec/scan/new_olap_scanner.cpp:222
        34# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at /home/bjj/disk/work/doris/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:238
        35# doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2::operator()() const at /home/bjj/disk/work/doris/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:169
        36# void std::__invoke_impl<void, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&>(std::__invoke_other, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
        37# std::enable_if<is_invocable_r_v<void, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&>, void>::type std::__invoke_r<void, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&>(doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:117
        38# std::_Function_handler<void (), doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2>::_M_invoke(std::_Any_data const&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290
        39# std::function<void ()>::operator()() const at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591
        40# doris::WorkThreadPool<true>::work_thread(int) at /home/bjj/disk/work/doris/doris/be/src/util/work_thread_pool.hpp:158

        0#  doris::Status doris::Status::Error<-3110, true>(std::basic_string_view<char, std::char_traits<char> >) at /home/bjj/disk/work/doris/doris/be/src/common/status.h:382
        1#  doris::BetaRowsetReader::get_segment_iterators(doris::RowsetReaderContext*, std::vector<std::unique_ptr<doris::RowwiseIterator, std::default_delete<doris::RowwiseIterator> >, std::allocator<std::unique_ptr<doris::RowwiseIterator, std::default_delete<doris::RowwiseIterator> > > >*, bool) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:256
        2#  doris::BetaRowsetReader::_init_iterator() at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:281
        3#  doris::BetaRowsetReader::_init_iterator_once()::$_0::operator()() const at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:276
        4#  doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}::operator()() const at /home/bjj/disk/work/doris/doris/be/src/util/once.h:60
        5#  void std::__invoke_impl<void, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::__invoke_other, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
        6#  std::__invoke_result<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>::type std::__invoke<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96
        7#  std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&)::{lambda()#1}::operator()() const at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:902
        8#  std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&)::{lambda()#1}>(doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&)::{lambda()#1}::operator()() const at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:836
        9#  std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&)::{lambda()#1}>(doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&)::{lambda()#1}::__invoke() at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:836
        10# ?
        11# __gthread_once(int*, void (*)()) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr-default.h:700
        12# void std::call_once<doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}>(std::once_flag&, doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0)::{lambda()#1}&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/mutex:907
        13# doris::Status doris::DorisCallOnce<doris::Status>::call<doris::BetaRowsetReader::_init_iterator_once()::$_0>(doris::BetaRowsetReader::_init_iterator_once()::$_0) at /home/bjj/disk/work/doris/doris/be/src/util/once.h:59
        14# doris::BetaRowsetReader::_init_iterator_once() at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:276
        15# doris::BetaRowsetReader::next_block(doris::vectorized::Block*) at /home/bjj/disk/work/doris/doris/be/src/olap/rowset/beta_rowset_reader.cpp:316
        16# doris::vectorized::VCollectIterator::Level0Iterator::_refresh() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.h:0
        17# doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:512
        18# doris::vectorized::VCollectIterator::Level0Iterator::ensure_first_row_ref() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:491
        19# doris::vectorized::VCollectIterator::Level1Iterator::ensure_first_row_ref() at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:690
        20# doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > >&) at /home/bjj/disk/work/doris/doris/be/src/vec/olap/vcollect_iterator.cpp:183
        21# doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams const&) at /home/bjj/disk/work/doris/doris/be/src/vec/olap/block_reader.cpp:157
        22# doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams const&) at /home/bjj/disk/work/doris/doris/be/src/vec/olap/block_reader.cpp:235
        23# doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) at /home/bjj/disk/work/doris/doris/be/src/vec/exec/scan/new_olap_scanner.cpp:222
        24# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at /home/bjj/disk/work/doris/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:238
        25# doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2::operator()() const at /home/bjj/disk/work/doris/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:169
        26# void std::__invoke_impl<void, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&>(std::__invoke_other, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
        27# std::enable_if<is_invocable_r_v<void, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&>, void>::type std::__invoke_r<void, doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&>(doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:117
        28# std::_Function_handler<void (), doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>)::$_2>::_M_invoke(std::_Any_data const&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290
        29# std::function<void ()>::operator()() const at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591
        30# doris::WorkThreadPool<true>::work_thread(int) at /home/bjj/disk/work/doris/doris/be/src/util/work_thread_pool.hpp:158
        31# void std::__invoke_impl<void, void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&>(std::__invoke_memfun_deref, void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:74
        32# std::__invoke_result<void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&>::type std::__invoke<void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&>(void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96
        33# decltype (std::__invoke((*this)._M_pmf, (std::forward<doris::WorkThreadPool<true>*&>)({parm#1}), (std::forward<int&>)({parm#1}))) std::_Mem_fn_base<void (doris::WorkThreadPool<true>::*)(int), true>::operator()<doris::WorkThreadPool<true>*&, int&>(doris::WorkThreadPool<true>*&, int&) const at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/functional:170
        34# void std::__invoke_impl<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&>(std::__invoke_other, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
        35# std::enable_if<is_invocable_r_v<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&>, void>::type std::__invoke_r<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&>(std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:117
        36# void std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/functional:654
        37# void std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>::operator()<>() at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/functional:713
        38# void std::__invoke_impl<void, std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>>(std::__invoke_other, std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
        39# std::__invoke_result<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>>::type std::__invoke<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>>(std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>&&) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96
        40# void std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) at /home/bjj/disk/soft/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292

What You Expected?

Return the correct prompt

How to Reproduce?

one step

CREATE TABLE IF NOT EXISTS test_unique_model_schema_value_change 
                     (
                         `user_id` LARGEINT NOT NULL COMMENT "用户id",
                         `username` VARCHAR(50) NOT NULL COMMENT "用户昵称",
                          `city` VARCHAR(20) COMMENT "用户所在城市",
                          `age` SMALLINT COMMENT "用户年龄",
                          `sex` TINYINT COMMENT "用户性别",
                          `phone` LARGEINT COMMENT "用户电话",
                          `address` VARCHAR(500) COMMENT "用户地址",
                          `register_time` DATETIME COMMENT "用户注册时间"
                       )
                      UNIQUE KEY(`user_id`, `username`)
                      DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
                      PROPERTIES (
                      "replication_allocation" = "tag.location.default: 1",
                      "enable_unique_key_merge_on_write" = "true"" 
                      );

two step

insert into test_unique_model_schema_value_change values(123456789, 'Alice', 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')

three step

alter  table ${tbName} add  column   j    JSON  DEFAULT '{\"a\": 300}' AFTER username

Anything Else?

No response

Are you willing to submit PR?

Code of Conduct

zhbdesign commented 6 months ago

不加默认值可以

cjj2010 commented 6 months ago

After you fix it, you can run the case in the following path to ensure proper functionality: regression-test/suites/schema_change_p0/test_unique_model_schema_value_change.groovy 图片