From b064024b4e3c9a7cd45fc295cc1da54028db1d7f Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Mon, 23 Jan 2012 17:50:09 +0000 Subject: Fix race condition when making initial connection to a slow database. --- .../carbonado/repo/replicated/ReplicatedRepositoryBuilder.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/amazon/carbonado/repo/replicated') diff --git a/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepositoryBuilder.java b/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepositoryBuilder.java index 17beb2e..a24cffe 100644 --- a/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepositoryBuilder.java +++ b/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepositoryBuilder.java @@ -82,8 +82,11 @@ public class ReplicatedRepositoryBuilder extends AbstractRepositoryBuilder { mMasterRepositoryBuilder.setMaster(mIsMaster); Log log = LogFactory.getLog(ReplicatedRepositoryBuilder.class); + // Pass a dummy root reference, to prevent it from overriding the + // true root, which is a ReplicatedRepository. + AtomicReference dummyRef = new AtomicReference(); BelatedRepositoryCreator creator = new BelatedRepositoryCreator - (log, mMasterRepositoryBuilder, rootRef, DEFAULT_RETRY_MILLIS) { + (log, mMasterRepositoryBuilder, dummyRef, DEFAULT_RETRY_MILLIS) { @Override protected void createdNotification(Repository repo) { -- cgit v1.2.3