[CP] [FIX] logstream freeze do not set snapshot_version for ddl kv

This commit is contained in:
ZenoWang
2024-05-14 06:19:10 +00:00
committed by ob-robot
parent d5668ff4d4
commit 678b91faa1
2 changed files with 11 additions and 2 deletions

View File

@ -1468,8 +1468,18 @@ int ObDDLKV::decide_right_boundary()
LOG_ERROR("tablet memtable mgr of ddl kv is unexpected null", KR(ret), K(ls_id), KPC(this)); LOG_ERROR("tablet memtable mgr of ddl kv is unexpected null", KR(ret), K(ls_id), KPC(this));
} else if (OB_FAIL(mgr->freeze_direct_load_memtable(this))) { } else if (OB_FAIL(mgr->freeze_direct_load_memtable(this))) {
LOG_WARN("fail to freeze direct load memtable", K(ret)); LOG_WARN("fail to freeze direct load memtable", K(ret));
} else if (OB_ISNULL(freezer_)) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("invalid freezer", KR(ret), KPC(this));
} else {
SCN snapshot_version = freezer_->get_freeze_snapshot_version();
if (snapshot_version.is_max() || snapshot_version.is_min() || !snapshot_version.is_valid()) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("invalid snapshot version", KR(ret), K(ls_id), K(snapshot_version), KP(freezer_));
} else {
set_snapshot_version(snapshot_version);
}
} }
return ret; return ret;
} }

View File

@ -1070,7 +1070,6 @@ int ObFreezer::do_direct_load_memtable_tablet_freeze_(ObITabletMemtable *tablet_
ObDDLKV *direct_load_memtable = static_cast<ObDDLKV*>(tablet_memtable); ObDDLKV *direct_load_memtable = static_cast<ObDDLKV*>(tablet_memtable);
if (OB_FAIL(direct_load_memtable->decide_right_boundary())) { if (OB_FAIL(direct_load_memtable->decide_right_boundary())) {
STORAGE_LOG(WARN, "freeze direct load memtable failed", KR(ret), K(ls_id), KPC(tablet_memtable)); STORAGE_LOG(WARN, "freeze direct load memtable failed", KR(ret), K(ls_id), KPC(tablet_memtable));
} else if (FALSE_IT(direct_load_memtable->set_snapshot_version(get_freeze_snapshot_version()))) {
} else { } else {
int64_t read_lock = LSLOCKALL; int64_t read_lock = LSLOCKALL;
int64_t write_lock = 0; int64_t write_lock = 0;