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

Jean-Noel Rouvignac
18.30.2013 82e4786ad97bb818f5cb4ca2a0f77ad4ea22be7e
opends/src/server/org/opends/server/replication/common/FirstChangeNumberVirtualAttributeProvider.java
@@ -139,9 +139,8 @@
        excludedDomains.add(ServerConstants.DN_EXTERNAL_CHANGELOG_ROOT);
        ReplicationServer rs = eclwe.getReplicationServer();
        rs.disableEligibility(excludedDomains);
        long[] limits = rs.getECLChangeNumberLimits(
            rs.getEligibleCSN(), excludedDomains);
            rs.getEligibleCSN(excludedDomains), excludedDomains);
        first = String.valueOf(limits[0]);
      }
opends/src/server/org/opends/server/replication/common/LastChangeNumberVirtualAttributeProvider.java
@@ -139,9 +139,8 @@
        excludedDomains.add(ServerConstants.DN_EXTERNAL_CHANGELOG_ROOT);
        ReplicationServer rs = eclwe.getReplicationServer();
        rs.disableEligibility(excludedDomains);
        long[] limits = rs.getECLChangeNumberLimits(
            rs.getEligibleCSN(), excludedDomains);
            rs.getEligibleCSN(excludedDomains), excludedDomains);
        last = String.valueOf(limits[1]);
      }
opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -1018,8 +1018,7 @@
    }
    excludedBaseDNs = startECLSessionMsg.getExcludedBaseDNs();
    replicationServer.disableEligibility(excludedBaseDNs);
    eligibleCSN = replicationServer.getEligibleCSN();
    refreshEligibleCSN();
    initializeChangelogSearch(startECLSessionMsg);
@@ -1558,7 +1557,7 @@
   */
  public void refreshEligibleCSN()
  {
    eligibleCSN = replicationServer.getEligibleCSN();
    eligibleCSN = replicationServer.getEligibleCSN(excludedBaseDNs);
  }
}
opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -181,9 +181,6 @@
  private final Object connectThreadLock = new Object();
  private long domainTicket = 0L;
  /** BaseDNs excluded for ECL. */
  private Set<String> excludedBaseDNs = new HashSet<String>();
  /**
   * The weight affected to the replication server.
   * Each replication server of the topology has a weight. When combined
@@ -1459,21 +1456,14 @@
  }
  /**
   * Excluded a list of domain from eligibility computation.
   * @param excludedBaseDNs the provided list of baseDNs excluded from
   *                          the computation of eligibleCSN.
   */
  public void disableEligibility(Set<String> excludedBaseDNs)
  {
    this.excludedBaseDNs = excludedBaseDNs;
  }
  /**
   * Returns the eligible CSN cross domains - relies on the eligible CSN from
   * each domain.
   *
   * @param excludedBaseDNs
   *          the list of baseDNs excluded from the computation of eligibleCSN
   * @return the cross domain eligible CSN.
   */
  public CSN getEligibleCSN()
  public CSN getEligibleCSN(Set<String> excludedBaseDNs)
  {
    String debugLog = "";
@@ -1710,8 +1700,6 @@
   */
  public MultiDomainServerState getLastECLCookie(Set<String> excludedBaseDNs)
  {
    disableEligibility(excludedBaseDNs);
    // Initialize start state for all running domains with empty state
    MultiDomainServerState result = new MultiDomainServerState();
    for (ReplicationServerDomain rsd : getReplicationServerDomains())
@@ -1720,7 +1708,8 @@
          || rsd.getDbServerState().isEmpty())
        continue;
      result.update(rsd.getBaseDN(), rsd.getEligibleState(getEligibleCSN()));
      final CSN eligibleCSN = getEligibleCSN(excludedBaseDNs);
      result.update(rsd.getBaseDN(), rsd.getEligibleState(eligibleCSN));
    }
    return result;
  }
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ExternalChangeLogTest.java
@@ -2238,7 +2238,7 @@
          + " DbServerState=" + rsd1.getDbServerState()
          + " ChangeTimeHeartBeatState=" + rsd1.getChangeTimeHeartbeatState()
          + " eligibleCSN=" + rsd1.getEligibleCSN()
          + " rs eligibleCSN=" + replicationServer.getEligibleCSN());
          + " rs eligibleCSN=" + replicationServer.getEligibleCSN(null));
      // FIXME:ECL Enable this test by adding an assert on the right value
      ReplicationServerDomain rsd2 = replicationServer.getReplicationServerDomain(TEST_ROOT_DN2);
@@ -2248,7 +2248,7 @@
          + " DbServerState=" + rsd2.getDbServerState()
          + " ChangeTimeHeartBeatState=" + rsd2.getChangeTimeHeartbeatState()
          + " eligibleCSN=" + rsd2.getEligibleCSN()
          + " rs eligibleCSN=" + replicationServer.getEligibleCSN());
          + " rs eligibleCSN=" + replicationServer.getEligibleCSN(null));
      // FIXME:ECL Enable this test by adding an assert on the right value
    }
    finally
@@ -2869,13 +2869,9 @@
      Set<String> excludedDomains = MultimasterReplication.getECLDisabledDomains();
      excludedDomains.add(ServerConstants.DN_EXTERNAL_CHANGELOG_ROOT);
      ECLWorkflowElement eclwe = (ECLWorkflowElement)
      DirectoryServer.getWorkflowElement("EXTERNAL CHANGE LOG");
      ReplicationServer rs = eclwe.getReplicationServer();
      rs.disableEligibility(excludedDomains);
      long t1 = TimeThread.getTime();
      long[] limits = replicationServer.getECLChangeNumberLimits(
          replicationServer.getEligibleCSN(), excludedDomains);
          replicationServer.getEligibleCSN(excludedDomains), excludedDomains);
      assertEquals(limits[1], maxMsg);
      long t2 = TimeThread.getTime();
      debugInfo(tn, "Perfs - " + maxMsg + " counted in (ms):" + (t2 - t1));