@Override public void deleteAll(List<K> keys) { instrument(metrics.numDeleteAlls, metrics.deleteAllNs, () -> kvStore.deleteAll(keys)); }
@Override public void deleteAll(List<K> keys) { writeMetrics.numDeleteAlls.inc(); long startNs = System.nanoTime(); kvStore.deleteAll(keys); writeMetrics.deleteAllNs.update(System.nanoTime() - startNs); }
@Override public void deleteAll(List<K> keys) { writeMetrics.numDeleteAlls.inc(); long startNs = System.nanoTime(); kvStore.deleteAll(keys); writeMetrics.deleteAllNs.update(System.nanoTime() - startNs); }
@Override public void remove(K key, long startTimestamp, long endTimeStamp) { validateRange(startTimestamp, endTimeStamp); TimeSeriesKey<K> fromKey = new TimeSeriesKey(key, startTimestamp, 0); TimeSeriesKey<K> toKey = new TimeSeriesKey(key, endTimeStamp, 0); List<TimeSeriesKey<K>> keysToDelete = new LinkedList<>(); KeyValueIterator<TimeSeriesKey<K>, V> range = kvStore.range(fromKey, toKey); try { while (range.hasNext()) { keysToDelete.add(range.next().getKey()); } } finally { range.close(); } kvStore.deleteAll(keysToDelete); }
@Override public void remove(K key, long startTimestamp, long endTimeStamp) { validateRange(startTimestamp, endTimeStamp); TimeSeriesKey<K> fromKey = new TimeSeriesKey(key, startTimestamp, 0); TimeSeriesKey<K> toKey = new TimeSeriesKey(key, endTimeStamp, 0); List<TimeSeriesKey<K>> keysToDelete = new LinkedList<>(); KeyValueIterator<TimeSeriesKey<K>, V> range = kvStore.range(fromKey, toKey); try { while (range.hasNext()) { keysToDelete.add(range.next().getKey()); } } finally { range.close(); } kvStore.deleteAll(keysToDelete); }
@Override public void remove(K key, long startTimestamp, long endTimeStamp) { validateRange(startTimestamp, endTimeStamp); TimeSeriesKey<K> fromKey = new TimeSeriesKey(key, startTimestamp, 0); TimeSeriesKey<K> toKey = new TimeSeriesKey(key, endTimeStamp, 0); List<TimeSeriesKey<K>> keysToDelete = new LinkedList<>(); KeyValueIterator<TimeSeriesKey<K>, V> range = kvStore.range(fromKey, toKey); try { while (range.hasNext()) { keysToDelete.add(range.next().getKey()); } } finally { range.close(); } kvStore.deleteAll(keysToDelete); }
@Override public void remove(K key, long startTimestamp, long endTimeStamp) { validateRange(startTimestamp, endTimeStamp); TimeSeriesKey<K> fromKey = new TimeSeriesKey(key, startTimestamp, 0); TimeSeriesKey<K> toKey = new TimeSeriesKey(key, endTimeStamp, 0); List<TimeSeriesKey<K>> keysToDelete = new LinkedList<>(); KeyValueIterator<TimeSeriesKey<K>, V> range = kvStore.range(fromKey, toKey); try { while (range.hasNext()) { keysToDelete.add(range.next().getKey()); } } finally { range.close(); } kvStore.deleteAll(keysToDelete); }
@Override public void remove(K key, long startTimestamp, long endTimeStamp) { validateRange(startTimestamp, endTimeStamp); TimeSeriesKey<K> fromKey = new TimeSeriesKey(key, startTimestamp, 0); TimeSeriesKey<K> toKey = new TimeSeriesKey(key, endTimeStamp, 0); List<TimeSeriesKey<K>> keysToDelete = new LinkedList<>(); KeyValueIterator<TimeSeriesKey<K>, V> range = kvStore.range(fromKey, toKey); try { while (range.hasNext()) { keysToDelete.add(range.next().getKey()); } } finally { range.close(); } kvStore.deleteAll(keysToDelete); }
@Test public void testPutAll() throws Exception { ReadWriteTable table = createTable(false); List<Entry> entries = Arrays.asList(new Entry("k1", "v1"), new Entry("k2", null)); table.putAll(entries); table.putAllAsync(entries).get(); verify(kvStore, times(2)).putAll(any()); verify(kvStore, times(2)).deleteAll(any()); Assert.assertEquals(2, numPutAlls.getCount()); Assert.assertEquals(2, numDeleteAlls.getCount()); Assert.assertTrue(putAllNs.getSnapshot().getAverage() > 0); Assert.assertTrue(deleteAllNs.getSnapshot().getAverage() > 0); Assert.assertEquals(0, putNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, deleteNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, flushNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, numPuts.getCount()); Assert.assertEquals(0, numDeletes.getCount()); Assert.assertEquals(0, numFlushes.getCount()); Assert.assertEquals(0, putCallbackNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, deleteCallbackNs.getSnapshot().getAverage(), 0.001); }
@Test public void testDeleteAll() throws Exception { ReadWriteTable table = createTable(false); table.deleteAll(Collections.emptyList()); table.deleteAllAsync(Collections.emptyList()).get(); verify(kvStore, times(2)).deleteAll(any()); Assert.assertEquals(2, numDeleteAlls.getCount()); Assert.assertTrue(deleteAllNs.getSnapshot().getAverage() > 0); Assert.assertEquals(0, putNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, putAllNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, deleteNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, flushNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, numPuts.getCount()); Assert.assertEquals(0, numPutAlls.getCount()); Assert.assertEquals(0, numDeletes.getCount()); Assert.assertEquals(0, numFlushes.getCount()); Assert.assertEquals(0, putCallbackNs.getSnapshot().getAverage(), 0.001); Assert.assertEquals(0, deleteCallbackNs.getSnapshot().getAverage(), 0.001); }