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

ludovicp
27.24.2010 f7f439300fb47d381b9e14fd5b4a550fba08d2e3
opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -3119,10 +3119,13 @@
   *
   * The eligibleState is : s1;cn14 / s2;cn26 / s3;cn31
   *
   * @param eligibleCN The provided eligibleCN.
   * @param eligibleCN              The provided eligibleCN.
   * @param allowOlderThanPurgeDate When true, the returned state can be older
   *                                than the purge date of the domain.
   * @return The computed eligible server state.
   */
  public ServerState getEligibleState(ChangeNumber eligibleCN)
  public ServerState getEligibleState(ChangeNumber eligibleCN,
      boolean allowOlderThanPurgeDate)
  {
    ServerState result = new ServerState();
@@ -3188,6 +3191,25 @@
        }
      }
    }
    if (allowOlderThanPurgeDate == false)
    {
      boolean domainPurged = true;
      long latestDomainTrimDate = getLatestDomainTrimDate();
      Iterator<Integer> it = result.iterator();
      while (it.hasNext())
      {
        int sid = it.next();
        ChangeNumber cn = result.getMaxChangeNumber(sid);
        if ((cn.getTime()>0) && (cn.getTime()<latestDomainTrimDate))
          result.update(new ChangeNumber(0,0,sid));
        else
          domainPurged = false;
      }
      if (domainPurged == true)
        result.clear();
    }
    if (debugEnabled())
      TRACER.debugInfo("In " + this
        + " getEligibleState() result is " + result);