6.5. Cascading to StormCellar

A StormCellar receives a specially formatted cascade feed from a Tornado Back End that refeeds articles as they expire from its spools. Normally, as a Tornado Back End writes to its spools, the oldest posts are simply overwritten. If a Cascade feed is defined, a pointer is maintained in front of the write pointer (typically 1% of total retention). As large groups of blocks (at least 1 Megabyte in size) are expired, they are scanned sequentially and fed to the StormCellar, leveraging backfill functionality already developed for Tornado Back Ends.

This method will transparently and seamlessly move a post from the Tornado Back End to the StormCellar, all the while being available to all Tornado Front Ends for downloading. The reader will not even be aware this is happening, unless they check the Path: header, which will show that the post was pulled from a different backend.

The non-NNTP compliant Cascade feeding standard was chosen for two reasons, primarily to reduce the load on the back ends, so the cascade itself does not diminish capacity while allowing multiple Storm cellars to be fed at zero overhead (past the first one). Secondarily to allow Adaptive Spooling.