From 52123493241f45671078995001d64971e4687692 Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Fri, 14 Jan 2022 20:53:50 +0800 Subject: [PATCH] fix RedisCheckAdjustAmount --- dtmcli/barrier.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dtmcli/barrier.go b/dtmcli/barrier.go index 2e29383..c2b66d1 100644 --- a/dtmcli/barrier.go +++ b/dtmcli/barrier.go @@ -136,15 +136,16 @@ if e1 ~= false then return end +redis.call('SET', KEYS[2], 'op', 'EX', ARGV[3]) + if ARGV[2] ~= '' then local e2 = redis.call('GET', KEYS[3]) - if e2 ~= false then + if e2 == false then + redis.call('SET', KEYS[3], 'rollback', 'EX', ARGV[3]) return end - redis.call('SET', KEYS[3], 'origin', 'EX', ARGV[3]) end redis.call('INCRBY', KEYS[1], ARGV[1]) -redis.call('SET', KEYS[2], 'op', 'EX', ARGV[3]) `, []string{key, bkey1, bkey2}, amount, originOp, barrierExpire).Result() logger.Debugf("lua return v: %v err: %v", v, err) if err == redis.Nil {