From 0a9135e3444bbefde6188f456b9c9772a816096d Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 18 Sep 2013 15:17:14 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB
---
opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java | 82 ++++++++++++++++++++--------------------
1 files changed, 41 insertions(+), 41 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
index bea6ac5..97057f5 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
@@ -42,6 +42,7 @@
import org.opends.server.replication.server.changelog.api.ChangelogDB;
import org.opends.server.replication.server.changelog.api.ChangelogException;
import org.opends.server.replication.server.changelog.api.ReplicaDBCursor;
+import org.opends.server.types.DN;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.util.Pair;
@@ -62,8 +63,8 @@
/**
* This map contains the List of updates received from each LDAP server.
*/
- private final Map<String, Map<Integer, DbHandler>> sourceDbHandlers =
- new ConcurrentHashMap<String, Map<Integer, DbHandler>>();
+ private final Map<DN, Map<Integer, DbHandler>> sourceDbHandlers =
+ new ConcurrentHashMap<DN, Map<Integer, DbHandler>>();
private ReplicationDbEnv dbEnv;
private String dbDirName = null;
private File dbDirectory;
@@ -82,9 +83,9 @@
this.replicationServer = replicationServer;
}
- private Map<Integer, DbHandler> getDomainMap(String baseDn)
+ private Map<Integer, DbHandler> getDomainMap(DN baseDN)
{
- final Map<Integer, DbHandler> domainMap = sourceDbHandlers.get(baseDn);
+ final Map<Integer, DbHandler> domainMap = sourceDbHandlers.get(baseDN);
if (domainMap != null)
{
return domainMap;
@@ -92,45 +93,45 @@
return Collections.emptyMap();
}
- private DbHandler getDbHandler(String baseDn, int serverId)
+ private DbHandler getDbHandler(DN baseDN, int serverId)
{
- return getDomainMap(baseDn).get(serverId);
+ return getDomainMap(baseDN).get(serverId);
}
/**
* Provision resources for the specified serverId in the specified replication
* domain.
*
- * @param baseDn
+ * @param baseDN
* the replication domain where to add the serverId
* @param serverId
* the server Id to add to the replication domain
* @throws ChangelogException
* If a database error happened.
*/
- private void commission(String baseDn, int serverId, ReplicationServer rs)
+ private void commission(DN baseDN, int serverId, ReplicationServer rs)
throws ChangelogException
{
- getOrCreateDbHandler(baseDn, serverId, rs);
+ getOrCreateDbHandler(baseDN, serverId, rs);
}
- private Pair<DbHandler, Boolean> getOrCreateDbHandler(String baseDn,
+ private Pair<DbHandler, Boolean> getOrCreateDbHandler(DN baseDN,
int serverId, ReplicationServer rs) throws ChangelogException
{
synchronized (sourceDbHandlers)
{
- Map<Integer, DbHandler> domainMap = sourceDbHandlers.get(baseDn);
+ Map<Integer, DbHandler> domainMap = sourceDbHandlers.get(baseDN);
if (domainMap == null)
{
domainMap = new ConcurrentHashMap<Integer, DbHandler>();
- sourceDbHandlers.put(baseDn, domainMap);
+ sourceDbHandlers.put(baseDN, domainMap);
}
DbHandler dbHandler = domainMap.get(serverId);
if (dbHandler == null)
{
dbHandler =
- new DbHandler(serverId, baseDn, rs, dbEnv, rs.getQueueSize());
+ new DbHandler(serverId, baseDN, rs, dbEnv, rs.getQueueSize());
domainMap.put(serverId, dbHandler);
return Pair.of(dbHandler, true);
}
@@ -161,19 +162,18 @@
private void initializeChangelogState(final ChangelogState changelogState)
throws ChangelogException
{
- for (Map.Entry<String, Long> entry :
+ for (Map.Entry<DN, Long> entry :
changelogState.getDomainToGenerationId().entrySet())
{
replicationServer.getReplicationServerDomain(entry.getKey(), true)
.initGenerationID(entry.getValue());
}
- for (Map.Entry<String, List<Integer>> entry : changelogState
- .getDomainToServerIds().entrySet())
+ for (Map.Entry<DN, List<Integer>> entry :
+ changelogState.getDomainToServerIds().entrySet())
{
- final String baseDn = entry.getKey();
for (int serverId : entry.getValue())
{
- commission(baseDn, serverId, replicationServer);
+ commission(entry.getKey(), serverId, replicationServer);
}
}
}
@@ -190,16 +190,16 @@
/** {@inheritDoc} */
@Override
- public Set<Integer> getDomainServerIds(String baseDn)
+ public Set<Integer> getDomainServerIds(DN baseDN)
{
- return getDomainMap(baseDn).keySet();
+ return getDomainMap(baseDN).keySet();
}
/** {@inheritDoc} */
@Override
- public long getCount(String baseDn, int serverId, CSN from, CSN to)
+ public long getCount(DN baseDN, int serverId, CSN from, CSN to)
{
- DbHandler dbHandler = getDbHandler(baseDn, serverId);
+ DbHandler dbHandler = getDbHandler(baseDN, serverId);
if (dbHandler != null)
{
return dbHandler.getCount(from, to);
@@ -209,10 +209,10 @@
/** {@inheritDoc} */
@Override
- public long getDomainChangesCount(String baseDn)
+ public long getDomainChangesCount(DN baseDN)
{
long entryCount = 0;
- for (DbHandler dbHandler : getDomainMap(baseDn).values())
+ for (DbHandler dbHandler : getDomainMap(baseDN).values())
{
entryCount += dbHandler.getChangesCount();
}
@@ -221,9 +221,9 @@
/** {@inheritDoc} */
@Override
- public void shutdownDomain(String baseDn)
+ public void shutdownDomain(DN baseDN)
{
- shutdownDbHandlers(getDomainMap(baseDn));
+ shutdownDbHandlers(getDomainMap(baseDN));
}
private void shutdownDbHandlers(Map<Integer, DbHandler> domainMap)
@@ -240,9 +240,9 @@
/** {@inheritDoc} */
@Override
- public Map<Integer, CSN> getDomainFirstCSNs(String baseDn)
+ public Map<Integer, CSN> getDomainFirstCSNs(DN baseDN)
{
- final Map<Integer, DbHandler> domainMap = getDomainMap(baseDn);
+ final Map<Integer, DbHandler> domainMap = getDomainMap(baseDN);
final Map<Integer, CSN> results =
new HashMap<Integer, CSN>(domainMap.size());
for (DbHandler dbHandler : domainMap.values())
@@ -254,9 +254,9 @@
/** {@inheritDoc} */
@Override
- public Map<Integer, CSN> getDomainLastCSNs(String baseDn)
+ public Map<Integer, CSN> getDomainLastCSNs(DN baseDN)
{
- final Map<Integer, DbHandler> domainMap = getDomainMap(baseDn);
+ final Map<Integer, DbHandler> domainMap = getDomainMap(baseDN);
final Map<Integer, CSN> results =
new HashMap<Integer, CSN>(domainMap.size());
for (DbHandler dbHandler : domainMap.values())
@@ -268,9 +268,9 @@
/** {@inheritDoc} */
@Override
- public void clearDomain(String baseDn)
+ public void clearDomain(DN baseDN)
{
- final Map<Integer, DbHandler> domainMap = getDomainMap(baseDn);
+ final Map<Integer, DbHandler> domainMap = getDomainMap(baseDN);
synchronized (domainMap)
{
for (DbHandler dbHandler : domainMap.values())
@@ -294,7 +294,7 @@
try
{
- dbEnv.clearGenerationId(baseDn);
+ dbEnv.clearGenerationId(baseDN);
}
catch (Exception ignored)
{
@@ -320,10 +320,10 @@
/** {@inheritDoc} */
@Override
- public long getDomainLatestTrimDate(String baseDn)
+ public long getDomainLatestTrimDate(DN baseDN)
{
long latest = 0;
- for (DbHandler dbHandler : getDomainMap(baseDn).values())
+ for (DbHandler dbHandler : getDomainMap(baseDN).values())
{
if (latest == 0 || latest < dbHandler.getLatestTrimDate())
{
@@ -335,9 +335,9 @@
/** {@inheritDoc} */
@Override
- public CSN getCSNAfter(String baseDn, int serverId, CSN startAfterCSN)
+ public CSN getCSNAfter(DN baseDN, int serverId, CSN startAfterCSN)
{
- final DbHandler dbHandler = getDbHandler(baseDn, serverId);
+ final DbHandler dbHandler = getDbHandler(baseDN, serverId);
ReplicaDBCursor cursor = null;
try
@@ -407,10 +407,10 @@
/** {@inheritDoc} */
@Override
- public ReplicaDBCursor getCursorFrom(String baseDn, int serverId,
+ public ReplicaDBCursor getCursorFrom(DN baseDN, int serverId,
CSN startAfterCSN)
{
- DbHandler dbHandler = getDbHandler(baseDn, serverId);
+ DbHandler dbHandler = getDbHandler(baseDN, serverId);
if (dbHandler == null)
{
return null;
@@ -437,11 +437,11 @@
/** {@inheritDoc} */
@Override
- public boolean publishUpdateMsg(String baseDn, int serverId,
+ public boolean publishUpdateMsg(DN baseDN, int serverId,
UpdateMsg updateMsg) throws ChangelogException
{
final Pair<DbHandler, Boolean> pair =
- getOrCreateDbHandler(baseDn, serverId, replicationServer);
+ getOrCreateDbHandler(baseDN, serverId, replicationServer);
final DbHandler dbHandler = pair.getFirst();
final boolean wasCreated = pair.getSecond();
--
Gitblit v1.10.0