BitBucket Smart Mirroring syncronization process

I'm trying to understand what the lag time is between servers/repositories with the Smart Mirroring feature.  We have a team that is remote from the main server and also has a CI infrastructure there.  We are trying to understand what is the lag time from a commit to the main server until the commit is seen at the mirrors.

After setting up the mirror, there are no knobs or status information apparent that control or provide insight into this.  Any help in understanding this aspect of the feature would be appreciated.

What is the synchronization process under the covers?  Is it pushing commits as they happen or is it more of a git fetch update type process occurring on a schedule?

1 answer

0 votes

Hi @Daniel Holmes,

The idea behind Bitbucket Smart Mirroring is, that the mirrors are in-sync as quickly as possible.
When a user pushes code to the primary instance, an event will trigger, and update all mirrors.

In addition to this, a 'sync' job runs on each mirror on a schedule to update itself, in case an event was
missed (which could be caused by for example a network outage, restart of the mirror, etc.). This job will
check that every repository the mirror is set-up to host is up-to-date.

The lag time to update a mirror really depends on the size of the pushes going to your primary instance,
as well as the connection speed between your primary and your mirrors. A simple push to a primary with a
mirror on the same network should see the mirror being updated in less than a second.

Note that the longest time a mirror will be out of sync will likely be shortly after the initial setup, as it needs to fetch all the pre-existing data it is configured to mirror from the primary. Once the initial sync is complete, a mirror should be up-to-date very quickly after changes arrive at the primary.

 

I hope that helps, 

Felix

How often does that sync job run, and is there any way to change the frequency? How about running the sync job manually? We're seeing occasional failures to keep mirrors in sync, and there's currently no visible way to force things back into the correct state.

Suggest an answer

Log in or Join to answer
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

638 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot