@Override public long incrementAndGet() { return getIncrement(increments.incrementAndGet(localMemberId)); }
@Override public long decrementAndGet() { return getDecrement(decrements.incrementAndGet(localMemberId)); }
private void countRemaps(long h, AtomicLongMap<Integer> map) { int last = 0; for (int shards = 2; shards <= MAX_SHARDS; shards++) { int chosen = Hashing.consistentHash(h, shards); if (chosen != last) { map.incrementAndGet(shards); last = chosen; } } }
switch (behavior) { case 0: map.incrementAndGet(key); threadSum++; break;
public void testIncrementAndGet_zero() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; assertEquals(0L, map.get(key)); assertFalse(map.containsKey(key)); assertEquals(1L, map.incrementAndGet(key)); assertEquals(1L, map.get(key)); assertEquals(0L, map.decrementAndGet(key)); assertEquals(0L, map.get(key)); assertTrue(map.containsKey(key)); assertEquals(1L, map.incrementAndGet(key)); assertEquals(1L, map.get(key)); }
public void testRemoveIfZero() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; assertEquals(0, map.size()); assertTrue(map.isEmpty()); assertFalse(map.removeIfZero(key)); assertEquals(1, map.incrementAndGet(key)); assertFalse(map.removeIfZero(key)); assertEquals(2, map.incrementAndGet(key)); assertFalse(map.removeIfZero(key)); assertEquals(1, map.decrementAndGet(key)); assertFalse(map.removeIfZero(key)); assertEquals(0, map.decrementAndGet(key)); assertTrue(map.removeIfZero(key)); assertFalse(map.containsKey(key)); }
public void testIncrementAndGet() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; for (int i = 0; i < ITERATIONS; i++) { long before = map.get(key); long result = map.incrementAndGet(key); long after = map.get(key); assertEquals(before + 1, after); assertEquals(after, result); } assertEquals(1, map.size()); assertTrue(!map.isEmpty()); assertTrue(map.containsKey(key)); assertEquals(ITERATIONS, (int) map.get(key)); }
public void testDecrementAndGet_zero() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; assertEquals(0L, map.get(key)); assertFalse(map.containsKey(key)); assertEquals(-1L, map.decrementAndGet(key)); assertEquals(-1L, map.get(key)); assertEquals(0L, map.incrementAndGet(key)); assertEquals(0L, map.get(key)); assertTrue(map.containsKey(key)); assertEquals(-1L, map.decrementAndGet(key)); assertEquals(-1L, map.get(key)); }
@Override public void addMetric(Key key, Value val) { String myMetric = key.getColumnVisibility().toString(); String currLG = localityGroups.get(numLG - 1); if (metric.get(currLG).containsKey(myMetric)) { metric.get(currLG).getAndIncrement(myMetric); } else metric.get(currLG).put(myMetric, 1); numEntries.set(numLG - 1, numEntries.get(numLG - 1) + 1); if (!inBlock.contains(myMetric) && blocks.get(currLG).containsKey(myMetric)) { blocks.get(currLG).incrementAndGet(myMetric); inBlock.add(myMetric); } else if (!inBlock.contains(myMetric) && !blocks.get(currLG).containsKey(myMetric)) { blocks.get(currLG).put(myMetric, 1); inBlock.add(myMetric); } }
public void updateForWatch(String key, Watcher watcher) { if (watcher != null) { log.debug("Watch added: {}: {}", desc, key); long count = counters.incrementAndGet(key); Long lastCount = maxCounters.get(key); if (lastCount == null || count > lastCount) { maxCounters.put(key, count); } if (count > limit && action != LimitViolationAction.IGNORE) { String msg = "Number of watches created in parallel for data: " + key + ", type: " + desc + " exceeds limit (" + count + " > " + limit + ")"; log.warn("{}", msg); if (action == LimitViolationAction.FAIL) throw new AssertionError(msg); } } }
@Override public long incrementAndGet() { return getIncrement(increments.incrementAndGet(localMemberId)); }
@Override public long decrementAndGet() { return getDecrement(decrements.incrementAndGet(localMemberId)); }
public static <T> T internalizeRef(T item) { if (item == null) { return null; } Class<?> clazz = item.getClass(); @SuppressWarnings("unchecked") ConcurrentMap<T, T> d = (ConcurrentMap<T, T>) DICTIONARY_ARRAY.computeIfAbsent(clazz, k -> new ConcurrentHashMap<>()); T previous = d.putIfAbsent(item, item); if (previous == null) { if (shouldCheckDictionary(clazz, d)) { // clear the dictionary hoping the next encountered values will be more relevant d.clear(); } // New ref return item; } else { CLASS_TO_CACHE_HIT.incrementAndGet(clazz); return previous; } }
public static <T> T internalizeRef(T item) { if (item == null) { return null; } Class<?> clazz = item.getClass(); @SuppressWarnings("unchecked") ConcurrentMap<T, T> d = (ConcurrentMap<T, T>) DICTIONARY_ARRAY.computeIfAbsent(clazz, k -> new ConcurrentHashMap<>()); T previous = d.putIfAbsent(item, item); if (previous == null) { if (shouldCheckDictionary(clazz, d)) { // clear the dictionary hoping the next encountered values will be more relevant d.clear(); } // New ref return item; } else { CLASS_TO_CACHE_HIT.incrementAndGet(clazz); return previous; } }
@Override public void addMetric(Key key, Value val) { String myMetric = key.getColumnVisibility().toString(); String currLG = localityGroups.get(numLG - 1); if (metric.get(currLG).containsKey(myMetric)) { metric.get(currLG).getAndIncrement(myMetric); } else metric.get(currLG).put(myMetric, 1); numEntries.set(numLG - 1, numEntries.get(numLG - 1) + 1); if (!inBlock.contains(myMetric) && blocks.get(currLG).containsKey(myMetric)) { blocks.get(currLG).incrementAndGet(myMetric); inBlock.add(myMetric); } else if (!inBlock.contains(myMetric) && !blocks.get(currLG).containsKey(myMetric)) { blocks.get(currLG).put(myMetric, 1); inBlock.add(myMetric); } }
private void countRemaps(long h, AtomicLongMap<Integer> map) { int last = 0; for (int shards = 2; shards <= MAX_SHARDS; shards++) { int chosen = Hashing.consistentHash(h, shards); if (chosen != last) { map.incrementAndGet(shards); last = chosen; } } }
public void testIncrementAndGet_zero() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; assertEquals(0L, map.get(key)); assertFalse(map.containsKey(key)); assertEquals(1L, map.incrementAndGet(key)); assertEquals(1L, map.get(key)); assertEquals(0L, map.decrementAndGet(key)); assertEquals(0L, map.get(key)); assertTrue(map.containsKey(key)); assertEquals(1L, map.incrementAndGet(key)); assertEquals(1L, map.get(key)); }
public void testRemoveIfZero() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; assertEquals(0, map.size()); assertTrue(map.isEmpty()); assertFalse(map.removeIfZero(key)); assertEquals(1, map.incrementAndGet(key)); assertFalse(map.removeIfZero(key)); assertEquals(2, map.incrementAndGet(key)); assertFalse(map.removeIfZero(key)); assertEquals(1, map.decrementAndGet(key)); assertFalse(map.removeIfZero(key)); assertEquals(0, map.decrementAndGet(key)); assertTrue(map.removeIfZero(key)); assertFalse(map.containsKey(key)); }
public void testIncrementAndGet() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; for (int i = 0; i < ITERATIONS; i++) { long before = map.get(key); long result = map.incrementAndGet(key); long after = map.get(key); assertEquals(before + 1, after); assertEquals(after, result); } assertEquals(1, map.size()); assertTrue(!map.isEmpty()); assertTrue(map.containsKey(key)); assertEquals(ITERATIONS, (int) map.get(key)); }
public void testDecrementAndGet_zero() { AtomicLongMap<String> map = AtomicLongMap.create(); String key = "key"; assertEquals(0L, map.get(key)); assertFalse(map.containsKey(key)); assertEquals(-1L, map.decrementAndGet(key)); assertEquals(-1L, map.get(key)); assertEquals(0L, map.incrementAndGet(key)); assertEquals(0L, map.get(key)); assertTrue(map.containsKey(key)); assertEquals(-1L, map.decrementAndGet(key)); assertEquals(-1L, map.get(key)); }