Просмотр исходного кода

add debug logging for locks, only log ifDebugEnabled

tags/2.0.1
Jonathan Cobb 4 лет назад
Родитель
Сommit
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) { public String lock(String key, long lockTimeout, long deadlockTimeout) {
log.debug("lock("+key+") starting");
key = key + LOCK_SUFFIX; key = key + LOCK_SUFFIX;
final String uuid = UUID.randomUUID().toString(); final String uuid = UUID.randomUUID().toString();
String lockVal = get(key); String lockVal = get(key);
final long start = now(); final long start = now();
while ((lockVal == null || !lockVal.equals(uuid)) && (now() - start < lockTimeout)) { while ((lockVal == null || !lockVal.equals(uuid)) && (now() - start < lockTimeout)) {
set(key, uuid, NX, EX, deadlockTimeout/1000); set(key, uuid, NX, EX, deadlockTimeout/1000);
log.debug("lock("+key+") locked with uuid="+uuid);
lockVal = get(key); lockVal = get(key);
log.debug("lock("+key+") after locking with uuid="+uuid+", lockVal="+lockVal);
} }
if (lockVal == null || !lockVal.equals(uuid)) { if (lockVal == null || !lockVal.equals(uuid)) {
return die("lock: timeout locking "+key); return die("lock: timeout locking "+key);
} }
log.info("lock: LOCKED "+key);
log.debug("lock: LOCKED "+key+" = "+lockVal);
return uuid; return uuid;
} }




Загрузка…
Отмена
Сохранить