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 ) ; }
Purge a dropped table or facade . Executed twice once for fast cleanup and again much later for stragglers .