Need to clarify something about log roll and continuous replication

I blogged recently about log roll and CCR – ‘New log created every 90 seconds...’ and I need to qualify something…  To quote the relevant bit; “In effect log roll will occur every 90 seconds when insufficient transactions occur to fill the current log. This means that for a completely idle storage group 960 transaction logs will be generated over a 24 hour period for a CCR enabled storage group...”

OK so that’s correct but you may have noticed that this isn’t actually what you see when you test it.  This is because there has to be some activity for the log to roll.  The code is designed to protect from a partially full log remaining on the active node and not being replicated for a significant period of time on a quiet server.  The critical bit is that if there is no activity or data in the current log then I don’t believe that the log will roll when 90 seconds is up.  There does have to be something in it.

This means that on most production servers log roll will be occurring regularly and so new logs will be generated frequently.  However on very quiet servers, or on test rigs for example, log roll will not necessarily occur every 90 seconds, as I was expecting…