mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Fabio Pistolesi
04.51.2016 15431da536e99d58dce3dc1bf9c7ab94d1f096a2
opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2011-2015 ForgeRock AS
 *      Portions Copyright 2011-2016 ForgeRock AS.
 */
package org.opends.server.replication.server;
@@ -171,7 +171,7 @@
    this.domainPredicate = predicate;
    enableExternalChangeLog();
    this.changelogDB = new FileChangelogDB(this, cfg);
    this.changelogDB = new FileChangelogDB(this, config.getReplicationDBDirectory());
    replSessionSecurity = new ReplSessionSecurity();
    initialize();
@@ -1329,6 +1329,15 @@
    return dsrsShutdownSync;
  }
  /**
   * Returns whether change-log indexing is enabled for this RS.
   * @return true if change-log indexing is enabled for this RS.
   */
  public boolean isChangeNumberEnabled()
  {
    return config.isComputeChangeNumber();
  }
  /** {@inheritDoc} */
  @Override
  public String toString()
opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangelogDB.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2014-2015 ForgeRock AS
 *      Copyright 2014-2016 ForgeRock AS.
 */
package org.opends.server.replication.server.changelog.file;
@@ -48,7 +48,6 @@
import org.forgerock.opendj.config.server.ConfigException;
import org.forgerock.util.Pair;
import org.forgerock.util.time.TimeService;
import org.opends.server.admin.std.server.ReplicationServerCfg;
import org.opends.server.api.DirectoryThread;
import org.opends.server.backends.ChangelogBackend;
import org.opends.server.replication.common.CSN;
@@ -97,7 +96,6 @@
  private final ConcurrentSkipListMap<ReplicaId, CopyOnWriteArrayList<ReplicaCursor>> replicaCursors =
      new ConcurrentSkipListMap<>();
  private ReplicationEnvironment replicationEnv;
  private final ReplicationServerCfg config;
  private final File dbDirectory;
  /**
@@ -132,17 +130,16 @@
   *
   * @param replicationServer
   *          the local replication server.
   * @param config
   *          the replication server configuration
   * @param dbDirectoryPath
   *          the path where the changelog files reside.
   * @throws ConfigException
   *           if a problem occurs opening the supplied directory
   */
  public FileChangelogDB(final ReplicationServer replicationServer, final ReplicationServerCfg config)
  public FileChangelogDB(final ReplicationServer replicationServer, String dbDirectoryPath)
      throws ConfigException
  {
    this.config = config;
    this.replicationServer = replicationServer;
    this.dbDirectory = makeDir(config.getReplicationDBDirectory());
    this.dbDirectory = makeDir(dbDirectoryPath);
  }
  private File makeDir(final String dbDirName) throws ConfigException
@@ -289,11 +286,10 @@
  {
    try
    {
      final File dbDir = getFileForPath(config.getReplicationDBDirectory());
      replicationEnv = new ReplicationEnvironment(dbDir.getAbsolutePath(), replicationServer, TimeService.SYSTEM);
      replicationEnv = new ReplicationEnvironment(dbDirectory.getAbsolutePath(), replicationServer, TimeService.SYSTEM);
      final ChangelogState changelogState = replicationEnv.getChangelogState();
      initializeToChangelogState(changelogState);
      if (config.isComputeChangeNumber())
      if (replicationServer.isChangeNumberEnabled())
      {
        startIndexer();
      }
@@ -625,7 +621,7 @@
  void resetChangeNumberIndex(long newFirstCN, DN baseDN, CSN newFirstCSN) throws ChangelogException
  {
    if (!config.isComputeChangeNumber())
    if (!replicationServer.isChangeNumberEnabled())
    {
      throw new ChangelogException(ERR_REPLICATION_CHANGE_NUMBER_DISABLED.get(baseDN));
    }
@@ -908,9 +904,7 @@
          final CSN purgeCSN = new CSN(purgeTimestamp, 0, 0);
          final CSN oldestNotPurgedCSN;
          // next code assumes that the compute-change-number config
          // never changes during the life time of an RS
          if (!config.isComputeChangeNumber())
          if (!replicationServer.isChangeNumberEnabled())
          {
            oldestNotPurgedCSN = purgeCSN;
          }