@Override
  public CompletableFuture<Void> deleteAsync(K key, Object ... args) {
    incCounter(metrics.numDeletes);
    long startNs = clock.nanoTime();
    Preconditions.checkNotNull(table, "Cannot delete from a read-only table: " + table);
    return table.deleteAsync(key, args).handle((result, e) -> {
      if (e != null) {
        throw new SamzaException("Failed to delete the record for " + key, e);
      } else if (!isWriteAround) {
        cache.delete(key, args);
      }
      updateTimer(metrics.deleteNs, clock.nanoTime() - startNs);
      return result;
    });
  }
Lookup the cache and return the keys that are missed in cache
@param keys keys to be looked up
@param records result map
@return list of keys missed in the cache
samza-core/src/main/java/org/apache/samza/table/caching/CachingTable.java