It was my first AD environment that I owned and I was much more excited than I was wise.  I made lots and lots of mistakes, some of them benign and some of them…well, didn’t go unnoticed.  It was a medium-sized organization based on Windows 2000 and we had quite a few sites and domain controllers.  It was a true hub and spoke topology and there were a fair number of site links back to our hub site.  We had decent and reliable connectivity and found that we could set the replication interval all the way down to the 15 minute minimum.

Though things were going well, I still thought there was some risk.  To remember it now I have to dust off the cobwebs of my mind but back then I was aware there was a single bridgehead server per site in Windows 2000.  I thought with all of these connection objects coming in that I had better stagger the intervals a little bit.  So, I went in to AD Sites and Services and adjusted some of the replication interval settings on the site links.

I started counting off sites links with intervals like I was making teams.  SL1 was 15 minutes.  SL2 was 16 minutes.  SL3 was 17 minutes.  SL4 was 18 minutes.  SL5 was 19 minutes.  And so on.  I went home that night feeling like I had done my part to make our little world better.

The next day I came in and found that the logs in Replmon (I loved that tool!) showed that most of my sites were replicating every 30 minutes.  Hmm, something didn’t work.

After a little bit of time and thinking, I realized that the unit of replication intervals is 15 minutes not 1 minute.  This is why you can’t go lower than 15 minutes.  It also plays out clearly if you look at the effective schedule on connection objects.  While the UI let’s you set intervals at 1 minute increments, the implementation is really that it is set in these 15 minute blocks on the final schedule.

The logic behind it is that if the interval is greater than a 15 minute increment, then round up to the next nearest 15 minute interval.  So, if we set it to 16 minutes in the UI, it will be set to 30 minutes in AD.  If we set it to 161 minutes in the UI, then it will be treated as 165 minutes.  The actual attribute behind the replication interval counter (replInterval) does actually set the attribute to whatever you set it at in the UI.  When the interval is overlaid with the site link schedule to create the schedule on the connection object, it gets limited down to the 15 minute increments.

One last thing, the UI does try to help you out with setting the replication interval.  If you use the arrow buttons next to the replication interval, you’ll see that it moves this in increments of 15 minutes.  It’s done this since Windows 2000.  I thought the tool just didn’t know how to count but it turns out it was just looking out for me.  Thanks Microsoft.