code: private void purgeData(TableJson json, Storage storage, int iteration, Runnable progress) {
          _log.info("Purging data for table '{}' and table uuid '{}' (facade={}, iteration={}).",
                  json.getTable(), storage.getUuidString(), storage.isFacade(), iteration);
  
          // Cap the # of writes-per-second to avoid saturating the cluster.
          Runnable rateLimitedProgress = rateLimited(_placementCache.get(storage.getPlacement()), progress);
  
          // Delete all the data for this table.
          audit(json.getTable(), "doPurgeData" + iteration, new AuditBuilder()
                  .set("_uuid", storage.getUuidString())
                  .set("_placement", storage.getPlacement())
                  .build());
          _dataPurgeDAO.purge(newAstyanaxStorage(storage, json.getTable()), rateLimitedProgress);
      }
docs: Purge a dropped table or facade.  Executed twice, once for fast cleanup and again much later for stragglers.