It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

BitBucket Smart Mirroring syncronization process

Daniel Holmes Aug 15, 2016

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
Felix Haehnel Atlassian Team Aug 15, 2016

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 Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Bitbucket Pipelines

Building a Bitbucket Pipe as a casual coder

...ipe.sh :  #!/bin/bash source "$(dirname "$0")/common.sh" enable_debug extra_args="" if [[ "${DEBUG}" == "true" ]]; then extra_args="--verbose" fi # mandatory variables R...

3,306 views 1 22
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you