print part_ctx info in handle_timeout
This commit is contained in:
@ -473,24 +473,9 @@ int ObPartTransCtx::handle_timeout(const int64_t delay)
|
||||
TRANS_LOG(INFO,
|
||||
"handle timeout",
|
||||
K(ret),
|
||||
KP(this),
|
||||
K_(ls_id),
|
||||
K(trans_id_),
|
||||
K(*this),
|
||||
K(tx_expired),
|
||||
K(commit_expired),
|
||||
K(upstream_state_),
|
||||
K(exec_info_.state_),
|
||||
K(start_replay_ts_),
|
||||
K(start_working_log_ts_),
|
||||
K(rec_log_ts_),
|
||||
K(prev_rec_log_ts_),
|
||||
K(is_exiting_),
|
||||
K(part_trans_action_),
|
||||
K(is_incomplete_replay_ctx_),
|
||||
"is_logging",
|
||||
is_logging_(),
|
||||
"ctx_ref",
|
||||
get_ref(),
|
||||
K(delay));
|
||||
if (busy_cbs_.get_size() > 0) {
|
||||
TRANS_LOG(INFO, "trx is waiting log_cb", K(busy_cbs_.get_size()), KPC(busy_cbs_.get_first()),
|
||||
@ -2162,7 +2147,9 @@ int ObPartTransCtx::submit_redo_log_(ObTxLogBlock &log_block,
|
||||
log_cb = NULL;
|
||||
helper.reset();
|
||||
|
||||
if (OB_FAIL(prepare_log_cb_(!NEED_FINAL_CB, log_cb))) {
|
||||
if (OB_FAIL(exec_info_.redo_lsns_.reserve(exec_info_.redo_lsns_.count() + 1))) {
|
||||
TRANS_LOG(WARN, "reserve memory for redo lsn failed", K(ret));
|
||||
} else if (OB_FAIL(prepare_log_cb_(!NEED_FINAL_CB, log_cb))) {
|
||||
if (OB_UNLIKELY(OB_TX_NOLOGCB != ret)) {
|
||||
TRANS_LOG(WARN, "get log cb failed", KR(ret), K(*this));
|
||||
}
|
||||
@ -5004,7 +4991,9 @@ int ObPartTransCtx::submit_multi_data_source_(ObTxLogBlock &log_block)
|
||||
ObTxMDSRange range;
|
||||
while (OB_SUCC(ret)) {
|
||||
log.reset();
|
||||
if (OB_FAIL(prepare_log_cb_(!NEED_FINAL_CB, log_cb))) {
|
||||
if (OB_FAIL(exec_info_.redo_lsns_.reserve(exec_info_.redo_lsns_.count() + 1))) {
|
||||
TRANS_LOG(WARN, "reserve memory for redo lsn failed", K(ret));
|
||||
} else if (OB_FAIL(prepare_log_cb_(!NEED_FINAL_CB, log_cb))) {
|
||||
if (OB_UNLIKELY(OB_TX_NOLOGCB != ret)) {
|
||||
TRANS_LOG(WARN, "get log cb failed", KR(ret), K(*this));
|
||||
}
|
||||
@ -5026,9 +5015,8 @@ int ObPartTransCtx::submit_multi_data_source_(ObTxLogBlock &log_block)
|
||||
// enough to hold multi source data, if not, take it as an error.
|
||||
TRANS_LOG(WARN, "add new log failed", KR(ret), K(*this));
|
||||
} else if (need_pre_replay_barrier
|
||||
&& OB_FAIL(
|
||||
log_block.rewrite_barrier_log_block(trans_id_.get_id(),
|
||||
logservice::ObReplayBarrierType::PRE_BARRIER))) {
|
||||
&& OB_FAIL(log_block.rewrite_barrier_log_block(
|
||||
trans_id_.get_id(), logservice::ObReplayBarrierType::PRE_BARRIER))) {
|
||||
|
||||
TRANS_LOG(WARN, "rewrite multi data source log barrier failed", K(ret));
|
||||
return_log_cb_(log_cb);
|
||||
@ -5662,7 +5650,9 @@ int ObPartTransCtx::rollback_to_savepoint_(const int64_t from_scn,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObPartTransCtx::submit_rollback_to_log_(const int64_t from_scn, const int64_t to_scn, ObTxData *tx_data)
|
||||
int ObPartTransCtx::submit_rollback_to_log_(const int64_t from_scn,
|
||||
const int64_t to_scn,
|
||||
ObTxData *tx_data)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObTxLogBlock log_block;
|
||||
@ -5670,11 +5660,12 @@ int ObPartTransCtx::submit_rollback_to_log_(const int64_t from_scn, const int64_
|
||||
ObTxRollbackToLog log(from_scn, to_scn);
|
||||
ObTxLogCb *log_cb = NULL;
|
||||
|
||||
ObTxLogBlockHeader
|
||||
log_block_header(cluster_id_, exec_info_.next_log_entry_no_, trans_id_);
|
||||
ObTxLogBlockHeader log_block_header(cluster_id_, exec_info_.next_log_entry_no_, trans_id_);
|
||||
|
||||
if (OB_FAIL(log_block.init(replay_hint, log_block_header))) {
|
||||
TRANS_LOG(WARN, "init log block fail", K(ret), KPC(this));
|
||||
} else if (OB_FAIL(exec_info_.redo_lsns_.reserve(exec_info_.redo_lsns_.count() + 1))) {
|
||||
TRANS_LOG(WARN, "reserve memory for redo lsn failed", K(ret));
|
||||
} else if (OB_FAIL(get_log_cb_(!NEED_FINAL_CB, log_cb))) {
|
||||
TRANS_LOG(WARN, "get log_cb fail", K(ret), KPC(this));
|
||||
} else if (OB_FAIL(log_block.add_new_log(log))) {
|
||||
@ -5684,11 +5675,9 @@ int ObPartTransCtx::submit_rollback_to_log_(const int64_t from_scn, const int64_
|
||||
TRANS_LOG(ERROR, "cb arg array is empty", K(ret), K(log_block));
|
||||
return_log_cb_(log_cb);
|
||||
log_cb = NULL;
|
||||
} else if (OB_FAIL(ls_tx_ctx_mgr_->get_ls_log_adapter()
|
||||
->submit_log(log_block.get_buf(),
|
||||
log_block.get_size(), 0,
|
||||
log_cb, false /*nonblock on EAGAIN*/
|
||||
))) {
|
||||
} else if (OB_FAIL(ls_tx_ctx_mgr_->get_ls_log_adapter()->submit_log(
|
||||
log_block.get_buf(), log_block.get_size(), 0, log_cb, false /*nonblock on EAGAIN*/
|
||||
))) {
|
||||
TRANS_LOG(WARN, "submit log fail", K(ret), K(log_block), KPC(this));
|
||||
return_log_cb_(log_cb);
|
||||
} else if (OB_FAIL(acquire_ctx_ref())) {
|
||||
@ -5698,12 +5687,9 @@ int ObPartTransCtx::submit_rollback_to_log_(const int64_t from_scn, const int64_
|
||||
} else {
|
||||
log_cb->set_tx_data(tx_data);
|
||||
}
|
||||
REC_TRANS_TRACE_EXT(tlog_, submit_rollback_log,
|
||||
OB_ID(ret), ret,
|
||||
OB_ID(from), from_scn,
|
||||
OB_ID(to), to_scn);
|
||||
TRANS_LOG(INFO, "RollbackToLog submit", K(ret), K(from_scn), K(to_scn),
|
||||
KP(log_cb), KPC(this));
|
||||
REC_TRANS_TRACE_EXT(tlog_, submit_rollback_log, OB_ID(ret), ret, OB_ID(from), from_scn, OB_ID(to),
|
||||
to_scn);
|
||||
TRANS_LOG(INFO, "RollbackToLog submit", K(ret), K(from_scn), K(to_scn), KP(log_cb), KPC(this));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1792,6 +1792,10 @@ int ObTransService::handle_tx_batch_req(int msg_type,
|
||||
} else if (!leader) { \
|
||||
ret = OB_NOT_MASTER; \
|
||||
TRANS_LOG(WARN, "ls not master", K(ret), K(msg)); \
|
||||
} else if (ctx->is_exiting()) { \
|
||||
ret = OB_TRANS_CTX_NOT_EXIST; \
|
||||
TRANS_LOG(INFO, "tx context is exiting",K(ret),K(msg)); \
|
||||
handle_orphan_2pc_msg_(msg, false); \
|
||||
} else if (OB_FAIL(ctx->msg_handler__(msg))) { \
|
||||
TRANS_LOG(WARN, "handle 2pc request fail", K(ret), K(msg)); \
|
||||
} \
|
||||
|
Reference in New Issue
Block a user