Commit d87c73b4 authored by yihua.huang's avatar yihua.huang

change check-and-set to atomic sadd for redis DuplicateRemover #368

parent d6cd92b1
...@@ -48,11 +48,7 @@ public class RedisScheduler extends DuplicateRemovedScheduler implements Monitor ...@@ -48,11 +48,7 @@ public class RedisScheduler extends DuplicateRemovedScheduler implements Monitor
public boolean isDuplicate(Request request, Task task) { public boolean isDuplicate(Request request, Task task) {
Jedis jedis = pool.getResource(); Jedis jedis = pool.getResource();
try { try {
boolean isDuplicate = jedis.sismember(getSetKey(task), request.getUrl()); return jedis.sadd(getSetKey(task), request.getUrl()) > 0;
if (!isDuplicate) {
jedis.sadd(getSetKey(task), request.getUrl());
}
return isDuplicate;
} finally { } finally {
pool.returnResource(jedis); pool.returnResource(jedis);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment