提交 1afa0ecf 编写于 作者: A AntiTopQuark 提交者: wangzelin.wzl

[BUGFIX]Virtual tables cannot retry das tasks

上级 7952fa9f
......@@ -109,6 +109,7 @@ public:
const share::ObLSID &get_ls_id() const { return ls_id_; }
void set_tablet_loc(const ObDASTabletLoc *tablet_loc) { tablet_loc_ = tablet_loc; }
const ObDASTabletLoc *get_tablet_loc() const { return tablet_loc_; }
inline int64_t get_ref_table_id() const { return tablet_loc_->loc_meta_->ref_table_id_; }
virtual int decode_task_result(ObIDASTaskResult *task_result) = 0;
//远程执行填充第一个RPC结果,并返回是否还有剩余的RPC结果
virtual int fill_task_result(ObIDASTaskResult &task_result,
......
......@@ -182,9 +182,8 @@ int ObDataAccessService::refresh_partition_location(ObDASRef &das_ref, ObIDASTas
int ObDataAccessService::retry_das_task(ObDASRef &das_ref, ObIDASTaskOp &task_op)
{
int ret = task_op.errcode_;
while (is_master_changed_error(ret) ||
is_partition_change_error(ret) ||
OB_REPLICA_NOT_READABLE == ret) {
while (!is_virtual_table(task_op.get_ref_table_id()) &&
(is_master_changed_error(ret) || is_partition_change_error(ret) || OB_REPLICA_NOT_READABLE == ret)) {
if (!can_fast_fail(task_op)) {
task_op.in_part_retry_ = true;
das_ref.get_exec_ctx().get_my_session()->set_session_in_retry(true, ret);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册