Skip to content

Commit 2433eaf

Browse files
stuBirdFlyob-robot
authored andcommitted
scan session timeout bug fix
1 parent 75c5b72 commit 2433eaf

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/observer/table/ob_table_query_async_processor.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,10 @@ int ObTableQueryASyncMgr::get_query_session(uint64_t sessid, ObTableQueryAsyncSe
239239
} else if (query_session->is_in_use()) { // one session cannot be held concurrently
240240
ret = OB_ERR_UNEXPECTED;
241241
LOG_WARN("query session already in use", K(sessid));
242+
} else if (query_session->get_session_type() == ObTableEntityType::ET_HKV &&
243+
query_session->timeout_ts_ < ObTimeUtility::current_time()) {
244+
ret = OB_TIMEOUT;
245+
LOG_WARN("session is timeout", K(ret), K(query_session));
242246
} else {
243247
query_session->set_in_use(true);
244248
}
@@ -518,7 +522,6 @@ int ObTableQueryAsyncP::get_query_session(uint64_t sessid, ObTableQueryAsyncSess
518522
// use session trans_state_ which storage transaction state in query_next()
519523
trans_param_.trans_state_ptr_ = query_session->get_trans_state();
520524
query_session->set_session_type(arg_.entity_type_);
521-
query_session->set_timout_ts(get_timeout_ts());
522525
}
523526

524527
return ret;

0 commit comments

Comments
 (0)