瀏覽代碼

add debug logging for locks, only log ifDebugEnabled

tags/2.0.1
Jonathan Cobb 4 年之前
父節點
當前提交
b4e6a58077
共有 1 個檔案被更改,包括 4 行新增1 行删除
  1. +4
    -1
      wizard-server/src/main/java/org/cobbzilla/wizard/cache/redis/RedisService.java

+ 4
- 1
wizard-server/src/main/java/org/cobbzilla/wizard/cache/redis/RedisService.java 查看文件

@@ -220,18 +220,21 @@ public class RedisService {
}

public String lock(String key, long lockTimeout, long deadlockTimeout) {
log.debug("lock("+key+") starting");
key = key + LOCK_SUFFIX;
final String uuid = UUID.randomUUID().toString();
String lockVal = get(key);
final long start = now();
while ((lockVal == null || !lockVal.equals(uuid)) && (now() - start < lockTimeout)) {
set(key, uuid, NX, EX, deadlockTimeout/1000);
log.debug("lock("+key+") locked with uuid="+uuid);
lockVal = get(key);
log.debug("lock("+key+") after locking with uuid="+uuid+", lockVal="+lockVal);
}
if (lockVal == null || !lockVal.equals(uuid)) {
return die("lock: timeout locking "+key);
}
log.info("lock: LOCKED "+key);
log.debug("lock: LOCKED "+key+" = "+lockVal);
return uuid;
}



Loading…
取消
儲存