From 5311778ad045cbc64fddbdaa367f7cb4d3853f98 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 20 Dec 2013 18:00:40 +0000
Subject: [PATCH] OPENDJ-1231 Make the Medium Consistency Point support replica heartbeats
---
opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java | 165 +++++++++++++++++++++---------------------------------
1 files changed, 65 insertions(+), 100 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
index e433e0b..a031d43 100644
--- a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
+++ b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
@@ -110,10 +110,9 @@
* Don't run the special replication code on Operation that are
* specifically marked as don't synchronize.
*/
- if (pluginOp != null && pluginOp instanceof Operation)
+ if (pluginOp instanceof Operation)
{
- Operation op = ((Operation) pluginOp);
-
+ final Operation op = (Operation) pluginOp;
if (op.dontSynchronize())
return null;
@@ -131,7 +130,7 @@
for (Iterator<Control> iter = controls.iterator(); iter.hasNext();)
{
Control c = iter.next();
- if (c.getOID().equals(OID_REPLICATION_REPAIR_CONTROL))
+ if (OID_REPLICATION_REPAIR_CONTROL.equals(c.getOID()))
{
op.setSynchronizationOperation(true);
op.setDontSynchronize(true);
@@ -233,9 +232,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void initializeSynchronizationProvider(
ReplicationSynchronizationProviderCfg configuration)
@@ -270,7 +267,7 @@
*/
List<Modification> offlineSchemaChanges =
DirectoryServer.getOfflineSchemaChanges();
- if ((offlineSchemaChanges != null) && (! offlineSchemaChanges.isEmpty()))
+ if (offlineSchemaChanges != null && !offlineSchemaChanges.isEmpty())
{
processSchemaChange(offlineSchemaChanges);
}
@@ -287,7 +284,7 @@
/**
* Create the threads that will wait for incoming update messages.
*/
- private synchronized static void createReplayThreads()
+ private static synchronized void createReplayThreads()
{
replayThreads.clear();
@@ -302,7 +299,7 @@
/**
* Stop the threads that are waiting for incoming update messages.
*/
- private synchronized static void stopReplayThreads()
+ private static synchronized void stopReplayThreads()
{
// stop the replay threads
for (ReplayThread replayThread : replayThreads)
@@ -324,9 +321,7 @@
replayThreads.clear();
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public boolean isConfigurationAddAcceptable(
ReplicationDomainCfg configuration, List<Message> unacceptableReasons)
@@ -335,9 +330,7 @@
configuration, unacceptableReasons);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public ConfigChangeResult applyConfigurationAdd(
ReplicationDomainCfg configuration)
@@ -358,9 +351,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void doPostOperation(PostOperationAddOperation addOperation)
{
@@ -369,9 +360,7 @@
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void doPostOperation(PostOperationDeleteOperation deleteOperation)
{
@@ -379,9 +368,7 @@
genericPostOperation(deleteOperation, dn);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void doPostOperation(PostOperationModifyDNOperation modifyDNOperation)
{
@@ -389,9 +376,7 @@
genericPostOperation(modifyDNOperation, dn);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void doPostOperation(PostOperationModifyOperation modifyOperation)
{
@@ -399,9 +384,7 @@
genericPostOperation(modifyOperation, dn);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult handleConflictResolution(
PreOperationModifyOperation modifyOperation)
@@ -414,9 +397,7 @@
return domain.handleConflictResolution(modifyOperation);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult handleConflictResolution(
PreOperationAddOperation addOperation) throws DirectoryException
@@ -429,9 +410,7 @@
return domain.handleConflictResolution(addOperation);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult handleConflictResolution(
PreOperationDeleteOperation deleteOperation) throws DirectoryException
@@ -444,9 +423,7 @@
return domain.handleConflictResolution(deleteOperation);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult handleConflictResolution(
PreOperationModifyDNOperation modifyDNOperation) throws DirectoryException
@@ -459,9 +436,7 @@
return domain.handleConflictResolution(modifyDNOperation);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult
doPreOperation(PreOperationModifyOperation modifyOperation)
@@ -469,8 +444,10 @@
DN operationDN = modifyOperation.getEntryDN();
LDAPReplicationDomain domain = findDomain(operationDN, modifyOperation);
- if ((domain == null) || (!domain.solveConflict()))
+ if (domain == null || !domain.solveConflict())
+ {
return new SynchronizationProviderResult.ContinueProcessing();
+ }
EntryHistorical historicalInformation = (EntryHistorical)
modifyOperation.getAttachment(EntryHistorical.HISTORICAL);
@@ -499,9 +476,7 @@
return new SynchronizationProviderResult.ContinueProcessing();
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult doPreOperation(
PreOperationDeleteOperation deleteOperation) throws DirectoryException
@@ -509,9 +484,7 @@
return new SynchronizationProviderResult.ContinueProcessing();
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult doPreOperation(
PreOperationModifyDNOperation modifyDNOperation)
@@ -545,9 +518,7 @@
return new SynchronizationProviderResult.ContinueProcessing();
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SynchronizationProviderResult doPreOperation(
PreOperationAddOperation addOperation)
@@ -568,10 +539,7 @@
return new SynchronizationProviderResult.ContinueProcessing();
}
-
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void finalizeSynchronizationProvider()
{
@@ -616,9 +584,7 @@
domain.synchronizeModifications(modifications);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processBackupBegin(Backend backend, BackupConfig config)
{
@@ -630,9 +596,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processBackupEnd(Backend backend, BackupConfig config,
boolean successful)
@@ -645,9 +609,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processRestoreBegin(Backend backend, RestoreConfig config)
{
@@ -659,9 +621,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processRestoreEnd(Backend backend, RestoreConfig config,
boolean successful)
@@ -674,9 +634,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processImportBegin(Backend backend, LDIFImportConfig config)
{
@@ -688,9 +646,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processImportEnd(Backend backend, LDIFImportConfig config,
boolean successful)
@@ -703,9 +659,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processExportBegin(Backend backend, LDIFExportConfig config)
{
@@ -717,9 +671,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void processExportEnd(Backend backend, LDIFExportConfig config,
boolean successful)
@@ -732,9 +684,7 @@
}
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public ConfigChangeResult applyConfigurationDelete(
ReplicationDomainCfg configuration)
@@ -744,9 +694,7 @@
return new ConfigChangeResult(ResultCode.SUCCESS, false);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public boolean isConfigurationDeleteAcceptable(
ReplicationDomainCfg configuration, List<Message> unacceptableReasons)
@@ -778,9 +726,7 @@
return replicationServerListener;
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public boolean isConfigurationChangeAcceptable(
ReplicationSynchronizationProviderCfg configuration,
@@ -789,9 +735,7 @@
return true;
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public ConfigChangeResult applyConfigurationChange(
ReplicationSynchronizationProviderCfg configuration)
@@ -812,9 +756,7 @@
return new ConfigChangeResult(ResultCode.SUCCESS, false);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void completeSynchronizationProvider()
{
@@ -837,22 +779,45 @@
}
/**
- * Gets the baseDn of the domains that have a private backend.
- * @return The private baseDN.
+ * Gets the Set of baseDN of the domains which are disabled for the external
+ * changelog.
+ *
+ * @return The Set of baseDNs which are disabled for the external changelog.
*/
public static Set<String> getECLDisabledDomains()
{
- Set<String> disabledBaseDNs = new HashSet<String>();
-
+ final Set<String> disabledBaseDNs = new HashSet<String>(domains.size());
for (LDAPReplicationDomain domain : domains.values())
{
if (!domain.isECLEnabled())
+ {
disabledBaseDNs.add(domain.getBaseDN().toNormalizedString());
+ }
}
return disabledBaseDNs;
}
/**
+ * Returns whether the provided baseDN is disabled for the external changelog.
+ *
+ * @param baseDN
+ * the domain to check
+ * @return true if the provided baseDN is disabled for the external changelog,
+ * false otherwise
+ */
+ public static boolean isECLDisabledDomain(DN baseDN)
+ {
+ for (LDAPReplicationDomain domain : domains.values())
+ {
+ if (!domain.isECLEnabled() && domain.getBaseDN().equals(baseDN))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* Returns the connection timeout in milli-seconds.
*
* @return The connection timeout in milli-seconds.
--
Gitblit v1.10.0