@Override
  public Map<String, String> toConfig(Config jobConfig) {

    Map<String, String> tableConfig = new HashMap<>(super.toConfig(jobConfig));

    if (cache != null) {
      addTableConfig(CACHE_TABLE_ID, cache.getTableId(), tableConfig);
    } else {
      if (readTtl != null) {
        addTableConfig(READ_TTL_MS, String.valueOf(readTtl.toMillis()), tableConfig);
      }
      if (writeTtl != null) {
        addTableConfig(WRITE_TTL_MS, String.valueOf(writeTtl.toMillis()), tableConfig);
      }
      if (cacheSize > 0) {
        addTableConfig(CACHE_SIZE, String.valueOf(cacheSize), tableConfig);
      }
    }

    addTableConfig(REAL_TABLE_ID, table.getTableId(), tableConfig);
    addTableConfig(WRITE_AROUND, String.valueOf(isWriteAround), tableConfig);

    return Collections.unmodifiableMap(tableConfig);
  }
Specify if write-around policy should be used to bypass writing
to cache for put operations. This is useful when put() is the
dominant operation and get() has no locality with recent puts.
@return this descriptor
samza-api/src/main/java/org/apache/samza/table/descriptors/CachingTableDescriptor.java