From 1c027331d4b95bb60c50cacfc10d572cefc06b4d Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 04 Oct 2013 14:03:02 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB
---
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java | 118 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 59 insertions(+), 59 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
index a6c5de4..809bf0e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
@@ -59,8 +59,8 @@
/**
* This map contains the List of updates received from each LDAP server.
*/
- private final Map<DN, Map<Integer, DbHandler>> sourceDbHandlers =
- new ConcurrentHashMap<DN, Map<Integer, DbHandler>>();
+ private final Map<DN, Map<Integer, JEReplicaDB>> domainToReplicaDBs =
+ new ConcurrentHashMap<DN, Map<Integer, JEReplicaDB>>();
private ReplicationDbEnv dbEnv;
private final String dbDirectoryName;
private final File dbDirectory;
@@ -152,9 +152,9 @@
}
}
- private Map<Integer, DbHandler> getDomainMap(DN baseDN)
+ private Map<Integer, JEReplicaDB> getDomainMap(DN baseDN)
{
- final Map<Integer, DbHandler> domainMap = sourceDbHandlers.get(baseDN);
+ final Map<Integer, JEReplicaDB> domainMap = domainToReplicaDBs.get(baseDN);
if (domainMap != null)
{
return domainMap;
@@ -162,7 +162,7 @@
return Collections.emptyMap();
}
- private DbHandler getDbHandler(DN baseDN, int serverId)
+ private JEReplicaDB getReplicaDB(DN baseDN, int serverId)
{
return getDomainMap(baseDN).get(serverId);
}
@@ -181,44 +181,44 @@
private void commission(DN baseDN, int serverId, ReplicationServer rs)
throws ChangelogException
{
- getOrCreateDbHandler(baseDN, serverId, rs);
+ getOrCreateReplicaDB(baseDN, serverId, rs);
}
/**
- * Returns a DbHandler, possibly creating it.
+ * Returns a {@link JEReplicaDB}, possibly creating it.
*
* @param baseDN
- * the baseDN for which to create a DbHandler
+ * the baseDN for which to create a ReplicaDB
* @param serverId
- * the baseserverId for which to create a DbHandler
+ * the serverId for which to create a ReplicaDB
* @param rs
* the ReplicationServer
- * @return a Pair with the DbHandler and a a boolean indicating if it has been
- * created
+ * @return a Pair with the JEReplicaDB and a boolean indicating whether it had
+ * to be created
* @throws ChangelogException
* if a problem occurred with the database
*/
- Pair<DbHandler, Boolean> getOrCreateDbHandler(DN baseDN,
+ Pair<JEReplicaDB, Boolean> getOrCreateReplicaDB(DN baseDN,
int serverId, ReplicationServer rs) throws ChangelogException
{
- synchronized (sourceDbHandlers)
+ synchronized (domainToReplicaDBs)
{
- Map<Integer, DbHandler> domainMap = sourceDbHandlers.get(baseDN);
+ Map<Integer, JEReplicaDB> domainMap = domainToReplicaDBs.get(baseDN);
if (domainMap == null)
{
- domainMap = new ConcurrentHashMap<Integer, DbHandler>();
- sourceDbHandlers.put(baseDN, domainMap);
+ domainMap = new ConcurrentHashMap<Integer, JEReplicaDB>();
+ domainToReplicaDBs.put(baseDN, domainMap);
}
- DbHandler dbHandler = domainMap.get(serverId);
- if (dbHandler == null)
+ JEReplicaDB replicaDB = domainMap.get(serverId);
+ if (replicaDB == null)
{
- dbHandler =
- new DbHandler(serverId, baseDN, rs, dbEnv, rs.getQueueSize());
- domainMap.put(serverId, dbHandler);
- return Pair.of(dbHandler, true);
+ replicaDB =
+ new JEReplicaDB(serverId, baseDN, rs, dbEnv, rs.getQueueSize());
+ domainMap.put(serverId, replicaDB);
+ return Pair.of(replicaDB, true);
}
- return Pair.of(dbHandler, false);
+ return Pair.of(replicaDB, false);
}
}
@@ -318,7 +318,7 @@
// - then throw the first encountered exception
ChangelogException firstException = null;
- for (DN baseDN : this.sourceDbHandlers.keySet())
+ for (DN baseDN : this.domainToReplicaDBs.keySet())
{
removeDomain(baseDN);
}
@@ -377,10 +377,10 @@
@Override
public long getCount(DN baseDN, CSN from, CSN to)
{
- DbHandler dbHandler = getDbHandler(baseDN, from.getServerId());
- if (dbHandler != null)
+ JEReplicaDB replicaDB = getReplicaDB(baseDN, from.getServerId());
+ if (replicaDB != null)
{
- return dbHandler.getCount(from, to);
+ return replicaDB.getCount(from, to);
}
return 0;
}
@@ -390,9 +390,9 @@
public long getDomainChangesCount(DN baseDN)
{
long entryCount = 0;
- for (DbHandler dbHandler : getDomainMap(baseDN).values())
+ for (JEReplicaDB replicaDB : getDomainMap(baseDN).values())
{
- entryCount += dbHandler.getChangesCount();
+ entryCount += replicaDB.getChangesCount();
}
return entryCount;
}
@@ -401,17 +401,17 @@
@Override
public void shutdownDomain(DN baseDN)
{
- shutdownDbHandlers(getDomainMap(baseDN));
- sourceDbHandlers.remove(baseDN);
+ shutdownReplicaDBs(getDomainMap(baseDN));
+ domainToReplicaDBs.remove(baseDN);
}
- private void shutdownDbHandlers(Map<Integer, DbHandler> domainMap)
+ private void shutdownReplicaDBs(Map<Integer, JEReplicaDB> domainMap)
{
synchronized (domainMap)
{
- for (DbHandler dbHandler : domainMap.values())
+ for (JEReplicaDB replicaDB : domainMap.values())
{
- dbHandler.shutdown();
+ replicaDB.shutdown();
}
domainMap.clear();
}
@@ -422,9 +422,9 @@
public ServerState getDomainOldestCSNs(DN baseDN)
{
final ServerState result = new ServerState();
- for (DbHandler dbHandler : getDomainMap(baseDN).values())
+ for (JEReplicaDB replicaDB : getDomainMap(baseDN).values())
{
- result.update(dbHandler.getOldestCSN());
+ result.update(replicaDB.getOldestCSN());
}
return result;
}
@@ -434,9 +434,9 @@
public ServerState getDomainNewestCSNs(DN baseDN)
{
final ServerState result = new ServerState();
- for (DbHandler dbHandler : getDomainMap(baseDN).values())
+ for (JEReplicaDB replicaDB : getDomainMap(baseDN).values())
{
- result.update(dbHandler.getNewestCSN());
+ result.update(replicaDB.getNewestCSN());
}
return result;
}
@@ -451,22 +451,22 @@
ChangelogException firstException = null;
// 1- clear the replica DBs
- final Map<Integer, DbHandler> domainMap = getDomainMap(baseDN);
+ final Map<Integer, JEReplicaDB> domainMap = getDomainMap(baseDN);
synchronized (domainMap)
{
- for (DbHandler dbHandler : domainMap.values())
+ for (JEReplicaDB replicaDB : domainMap.values())
{
try
{
- dbHandler.clear();
+ replicaDB.clear();
}
catch (ChangelogException e)
{
firstException = e;
}
}
- shutdownDbHandlers(domainMap);
- sourceDbHandlers.remove(baseDN);
+ shutdownReplicaDBs(domainMap);
+ domainToReplicaDBs.remove(baseDN);
}
// 2- clear the ChangeNumber index DB
@@ -511,11 +511,11 @@
@Override
public void setPurgeDelay(long delay)
{
- for (Map<Integer, DbHandler> domainMap : sourceDbHandlers.values())
+ for (Map<Integer, JEReplicaDB> domainMap : domainToReplicaDBs.values())
{
- for (DbHandler dbHandler : domainMap.values())
+ for (JEReplicaDB replicaDB : domainMap.values())
{
- dbHandler.setPurgeDelay(delay);
+ replicaDB.setPurgeDelay(delay);
}
}
}
@@ -525,11 +525,11 @@
public long getDomainLatestTrimDate(DN baseDN)
{
long latest = 0;
- for (DbHandler dbHandler : getDomainMap(baseDN).values())
+ for (JEReplicaDB replicaDB : getDomainMap(baseDN).values())
{
- if (latest == 0 || latest < dbHandler.getLatestTrimDate())
+ if (latest == 0 || latest < replicaDB.getLatestTrimDate())
{
- latest = dbHandler.getLatestTrimDate();
+ latest = replicaDB.getLatestTrimDate();
}
}
return latest;
@@ -539,12 +539,12 @@
@Override
public CSN getCSNAfter(DN baseDN, int serverId, CSN startAfterCSN)
{
- final DbHandler dbHandler = getDbHandler(baseDN, serverId);
+ final JEReplicaDB replicaDB = getReplicaDB(baseDN, serverId);
ReplicaDBCursor cursor = null;
try
{
- cursor = dbHandler.generateCursorFrom(startAfterCSN);
+ cursor = replicaDB.generateCursorFrom(startAfterCSN);
if (cursor != null && cursor.getChange() != null)
{
return cursor.getChange().getCSN();
@@ -572,7 +572,7 @@
{
try
{
- cnIndexDB = new DraftCNDbHandler(replicationServer, this.dbEnv);
+ cnIndexDB = new JEChangeNumberIndexDB(replicationServer, this.dbEnv);
}
catch (Exception e)
{
@@ -595,12 +595,12 @@
public ReplicaDBCursor getCursorFrom(DN baseDN, int serverId,
CSN startAfterCSN)
{
- DbHandler dbHandler = getDbHandler(baseDN, serverId);
- if (dbHandler != null)
+ JEReplicaDB replicaDB = getReplicaDB(baseDN, serverId);
+ if (replicaDB != null)
{
try
{
- ReplicaDBCursor cursor = dbHandler.generateCursorFrom(startAfterCSN);
+ ReplicaDBCursor cursor = replicaDB.generateCursorFrom(startAfterCSN);
cursor.next();
return cursor;
}
@@ -617,12 +617,12 @@
public boolean publishUpdateMsg(DN baseDN, int serverId,
UpdateMsg updateMsg) throws ChangelogException
{
- final Pair<DbHandler, Boolean> pair =
- getOrCreateDbHandler(baseDN, serverId, replicationServer);
- final DbHandler dbHandler = pair.getFirst();
+ final Pair<JEReplicaDB, Boolean> pair =
+ getOrCreateReplicaDB(baseDN, serverId, replicationServer);
+ final JEReplicaDB replicaDB = pair.getFirst();
final boolean wasCreated = pair.getSecond();
- dbHandler.add(updateMsg);
+ replicaDB.add(updateMsg);
return wasCreated;
}
--
Gitblit v1.10.0