SecMetaIterator is not inited
This commit is contained in:
@ -143,11 +143,14 @@ int ObSSTableSecMetaIterator::open(
|
|||||||
if (OB_FAIL(ret) || is_prefetch_end_) {
|
if (OB_FAIL(ret) || is_prefetch_end_) {
|
||||||
} else if (OB_UNLIKELY(start_key_beyond_range)) {
|
} else if (OB_UNLIKELY(start_key_beyond_range)) {
|
||||||
set_iter_end();
|
set_iter_end();
|
||||||
|
is_inited_ = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OB_FAIL(ret) || is_prefetch_end_) {
|
if (OB_FAIL(ret)) {
|
||||||
// do nothing
|
// do nothing
|
||||||
|
} else if (is_prefetch_end_) {
|
||||||
|
is_inited_ = true;
|
||||||
} else if (!is_meta_root && OB_FAIL(prefetch_micro_block(1 /* fetch first micro block */))) {
|
} else if (!is_meta_root && OB_FAIL(prefetch_micro_block(1 /* fetch first micro block */))) {
|
||||||
LOG_WARN("Fail to prefetch next micro block", K(ret), K_(is_prefetch_end));
|
LOG_WARN("Fail to prefetch next micro block", K(ret), K_(is_prefetch_end));
|
||||||
} else if (OB_FAIL(row_.init(allocator, index_read_info_->get_request_count()))) {
|
} else if (OB_FAIL(row_.init(allocator, index_read_info_->get_request_count()))) {
|
||||||
@ -354,6 +357,7 @@ int ObSSTableSecMetaIterator::open_meta_root_block()
|
|||||||
end_idx,
|
end_idx,
|
||||||
is_index_scan))) {
|
is_index_scan))) {
|
||||||
if (OB_BEYOND_THE_RANGE == ret) {
|
if (OB_BEYOND_THE_RANGE == ret) {
|
||||||
|
set_iter_end();
|
||||||
ret = OB_ITER_END;
|
ret = OB_ITER_END;
|
||||||
FLOG_INFO("this special sstable only locates range during iteration, so beyong range err should be transformed into iter end", K(ret));
|
FLOG_INFO("this special sstable only locates range during iteration, so beyong range err should be transformed into iter end", K(ret));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user