I think we have to use TimeStampedHashMap here so that long-running programs keep working. We don't clean shuffle *files* right now (users have to do that by hand), but we do clean metadata in memory, and users delete old files by hand.

By the way, the different types of cleaner delays should be used throughout the code, so if you don't see it somewhere, it's probably a bug. Other pieces of code do use getDelaySeconds(cleanerType).