@Override public void put(K key, V value) { if (value != null) { instrument(metrics.numPuts, metrics.putNs, () -> kvStore.put(key, value)); } else { delete(key); } }
@Override public void deleteAll(List<K> keys) { instrument(metrics.numDeleteAlls, metrics.deleteAllNs, () -> kvStore.deleteAll(keys)); }
@Override public void delete(K key) { instrument(metrics.numDeletes, metrics.deleteNs, () -> kvStore.delete(key)); }
@Override public V get(K key) { V result = instrument(metrics.numGets, metrics.getNs, () -> kvStore.get(key)); if (result == null) { incCounter(metrics.numMissedLookups); } return result; }
@Override public void close() { wrappedIterator.close(); } }
@Override public void flush() { kvStore.flush(); }
@Override public void remove() { wrappedIterator.remove(); } }
@Override public boolean hasNext() { return wrappedIterator.hasNext(); }
/** * Deletes the mappings for the specified {@code keys} from this key-value store (if such mappings exist). * * @param keys the keys for which the mappings are to be deleted. * @throws NullPointerException if the specified {@code keys} list, or any of the keys, is {@code null}. */ default void deleteAll(List<K> keys) { for (K key : keys) { delete(key); } }
@Override public void close() { wrappedIterator.close(); }
@Override public TableProvider getTableProvider(String tableId) { return new LocalTableProvider(tableId); } }
@Override public void flush() { // Since the KV store will be flushed by task storage manager, only update metrics here instrument(metrics.numFlushes, metrics.flushNs, () -> { }); }
@Override public void close() { wrappedIterator.close(); } }
@Override public void remove() { wrappedIterator.remove(); } }
/** * Deletes the mappings for the specified {@code keys} from this key-value store (if such mappings exist). * * @param keys the keys for which the mappings are to be deleted. * @throws NullPointerException if the specified {@code keys} list, or any of the keys, is {@code null}. */ default void deleteAll(List<K> keys) { for (K key : keys) { delete(key); } }
@Override public void close() { wrappedIterator.close(); } }
@Override public void remove() { wrappedIterator.remove(); } }
@Override public void close() { wrappedIterator.close(); } }
@Override public void remove() { wrappedIterator.remove(); } }
@Override public void close() { wrappedIterator.close(); } }