diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp index 2741b858ad..adf5beeaf8 100644 --- a/be/src/olap/tablet.cpp +++ b/be/src/olap/tablet.cpp @@ -127,6 +127,13 @@ WriteCooldownMetaExecutors::WriteCooldownMetaExecutors(size_t executor_nums) void WriteCooldownMetaExecutors::WriteCooldownMetaExecutors::submit(TabletSharedPtr tablet) { auto tablet_id = tablet->tablet_id(); + { + std::shared_lock rdlock(tablet->get_header_lock()); + if (!tablet->tablet_meta()->cooldown_meta_id().initialized()) { + VLOG_NOTICE << "tablet " << tablet_id << " is not cooldown replica"; + return; + } + } { // one tablet could at most have one cooldown task to be done std::unique_lock lck {_latch}; @@ -145,11 +152,13 @@ void WriteCooldownMetaExecutors::WriteCooldownMetaExecutors::submit(TabletShared if (s.ok()) { return; } - LOG_WARNING("write tablet {} cooldown meta failed because: {}", t->tablet_id(), - s.to_string()); if (!s.is()) { + LOG_EVERY_SECOND(WARNING) + << "write tablet " << t->tablet_id() << " cooldown meta failed because: " << s; submit(t); + return; } + VLOG_DEBUG << "tablet " << t->tablet_id() << " is not cooldown replica"; }; _executors[_get_executor_pos(tablet_id)]->submit_func(