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

Jean-Noel Rouvignac
20.56.2014 56b6935e2ca8870820294a9c45dd3a88117a355b
opendj3-server-dev/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -220,7 +220,7 @@
  private boolean solveConflictFlag = true;
  private final InternalClientConnection conn = getRootConnection();
  private volatile boolean shutdown = false;
  private final AtomicBoolean shutdown = new AtomicBoolean();
  private volatile boolean disabled = false;
  private volatile boolean stateSavingDisabled = false;
@@ -264,7 +264,7 @@
   */
  /** Holds the fractional configuration for this domain, if any. */
  private FractionalConfig fractionalConfig;
  private final FractionalConfig fractionalConfig;
  /**
   * The list of attributes that cannot be used in fractional replication
@@ -380,11 +380,6 @@
  private class RSUpdater extends DirectoryThread
  {
    private final CSN startCSN;
    /**
     * Used to communicate that the current thread computation needs to
     * shutdown.
     */
    private AtomicBoolean shutdown = new AtomicBoolean(false);
    protected RSUpdater(CSN replServerMaxCSN)
    {
@@ -398,8 +393,8 @@
    @Override
    public void run()
    {
      // Replication server is missing some of our changes: let's
      // send them to him.
      // Replication server is missing some of our changes:
      // let's send them to him.
      logger.trace(DEBUG_GOING_TO_SEARCH_FOR_CHANGES);
      /*
@@ -408,7 +403,7 @@
       */
      try
      {
        if (buildAndPublishMissingChanges(startCSN, broker, shutdown))
        if (buildAndPublishMissingChanges(startCSN, broker))
        {
          logger.trace(DEBUG_CHANGES_SENT);
          synchronized(replayOperations)
@@ -427,7 +422,8 @@
           */
          logger.error(ERR_CANNOT_RECOVER_CHANGES, getBaseDNString());
        }
      } catch (Exception e)
      }
      catch (Exception e)
      {
        /*
         * An error happened trying to search for the updates
@@ -446,17 +442,8 @@
        rsUpdater.compareAndSet(this, null);
      }
    }
    /** {@inheritDoc} */
    @Override
    public void initiateShutdown()
    {
      this.shutdown.set(true);
      super.initiateShutdown();
    }
  }
  /**
   * Creates a new ReplicationDomain using configuration from configEntry.
   *
@@ -823,7 +810,7 @@
   */
  static class AttributeValueStringIterator implements Iterator<String>
  {
    private Iterator<ByteString> attrValIt;
    private final Iterator<ByteString> attrValIt;
    /**
     * Creates a new AttributeValueStringIterator object.
@@ -2261,9 +2248,8 @@
   */
  public void shutdown()
  {
    if (!shutdown)
    if (shutdown.compareAndSet(false, true))
    {
      shutdown = true;
      final RSUpdater rsUpdater = this.rsUpdater.get();
      if (rsUpdater != null)
      {
@@ -2286,7 +2272,7 @@
      disableService();
    }
    // wait for completion of the persistentServerState thread.
    // wait for completion of the ServerStateFlush thread.
    try
    {
      while (!done)
@@ -4134,14 +4120,12 @@
   *          The CSN where we need to start the search
   * @param session
   *          The session to use to publish the changes
   * @param shutdown
   *          whether the current run must be stopped
   * @return A boolean indicating he success of the operation.
   * @throws Exception
   *           if an Exception happens during the search.
   */
  boolean buildAndPublishMissingChanges(CSN startCSN,
      ReplicationBroker session, AtomicBoolean shutdown) throws Exception
  boolean buildAndPublishMissingChanges(CSN startCSN, ReplicationBroker session)
      throws Exception
  {
    // Trim the changes in replayOperations that are older than the startCSN.
    synchronized (replayOperations)
@@ -4654,7 +4638,7 @@
    /**
     * Base DN the fractional configuration is for.
     */
    private DN baseDN;
    private final DN baseDN;
    /**
     * Constructs a new fractional configuration object.