-
Notifications
You must be signed in to change notification settings - Fork 998
Open
Description
我本以为二阶段消息的回查是RetryInterval,然后指数回避,但是经过测试,如果第一个本地事务失败但未通知到dtm服务,dtm是等待TimeoutToFail才会触发回查。
这个为啥不设计成RetryInterval才回查吗
代码里是通过调用这个函数判断是否需要回查的
func (t *TransGlobal) isTimeout() bool {
timeout := t.TimeoutToFail
if t.TimeoutToFail == 0 && t.TransType != "saga" {
timeout = conf.TimeoutToFail
}
if timeout == 0 {
return false
}
return time.Since(*t.CreateTime)+NowForwardDuration >= time.Duration(timeout)*time.Second
}
Metadata
Metadata
Assignees
Labels
No labels