kaijchen opened a new pull request, #21619:
URL: https://github.com/apache/doris/pull/21619

   ## Proposed changes
   
   `BetaRowsetWriter::flush_single_block()` was called in 
`calc_segment_delete_bitmap()`, 
   we should not call generate_delete_bitmap and segment compaction in that 
case.
   
   Move calls to `_generate_delete_bitmap()` and `_segcompaction_if_necessary()`
   from `flush_single_block()` to `flush_memtable()`.
   
   `unfold_variant_column_and_flush_block()` is renamed to `flush_memtable()`
   to reflect the changes.
   
   Fix the following core:
   
   ```
   * Current BE git commitID: bb985cd9a1 ***
    * SIGSEGV address not mapped to object (@0x10) received by PID 2493 (TID 
3377 OR 0x7fd971de8700) from PID 16; stack trace: ***
    0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, 
siginfo_t*, void*) at 
/mnt/disk1/caoliang/doris/master/doris/be/src/common/signal_handler.h:413
    1# os::Linux::chained_handler(int, siginfo*, void*) in 
/root/jdk1.8.0_331/jre/lib/amd64/server/libjvm.so
    2# JVM_handle_linux_signal in 
/root/jdk1.8.0_331/jre/lib/amd64/server/libjvm.so
    3# signalHandler(int, siginfo*, void*) in 
/root/jdk1.8.0_331/jre/lib/amd64/server/libjvm.so
    4# 0x00007FDB73A27400 in /lib64/libc.so.6
    5# doris::BetaRowsetWriter::_generate_delete_bitmap(int) at 
/mnt/disk1/caoliang/doris/master/doris/be/src/olap/rowset/beta_rowset_writer.cpp:162
    6# doris::BetaRowsetWriter::flush_single_block(doris::vectorized::Block 
const*, long*, doris::FlushContext const*) at 
/mnt/disk1/caoliang/doris/master/doris/be/src/olap/rowset/beta_rowset_writer.cpp:556
    7# 
doris::Tablet::calc_segment_delete_bitmap(std::shared_ptr<doris::Rowset>, 
std::shared_ptr<doris::segment_v2::Segment> const&, 
std::vector<std::shared_ptr<doris::Rowset>, 
std::allocator<std::shared_ptr<doris::Rowset> > > const&, 
std::shared_ptr<doris::DeleteBitmap>, long, doris::RowsetWriter*) in 
/data/output/be/lib/doris_be
    8# doris::Tablet::calc_delete_bitmap(std::shared_ptr<doris::Rowset>, 
std::vector<std::shared_ptr<doris::segment_v2::Segment>, 
std::allocator<std::shared_ptr<doris::segment_v2::Segment> > > const&, 
std::vector<std::shared_ptr<doris::Rowset>, 
std::allocator<std::shared_ptr<doris::Rowset> > > const&, 
std::shared_ptr<doris::DeleteBitmap>, long, doris::RowsetWriter*) at 
/mnt/disk1/caoliang/doris/master/doris/be/src/olap/tablet.cpp:3003
    9# 
doris::Tablet::commit_phase_update_delete_bitmap(std::shared_ptr<doris::Rowset> 
const&, std::unordered_set<doris::RowsetId, doris::HashOfRowsetId, 
std::equal_to<doris::RowsetId>, std::allocator<doris::RowsetId> >&, 
std::shared_ptr<doris::DeleteBitmap>, 
std::vector<std::shared_ptr<doris::segment_v2::Segment>, 
std::allocator<std::shared_ptr<doris::segment_v2::Segment> > > const&, long, 
doris::RowsetWriter*) at 
/mnt/disk1/caoliang/doris/master/doris/be/src/olap/tablet.cpp:3233
   10# doris::DeltaWriter::close_wait(doris::PSlaveTabletNodes const&, bool) at 
/mnt/disk1/caoliang/doris/master/doris/be/src/olap/delta_writer.cpp:439
   ```
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   
   


-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to