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

mrossign
30.43.2009 edccd030b94ecc79a7b8ae17ec172cccafce56fb
Entry lock may not be released in some cases
5 files modified
38 ■■■■ changed files
opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java 22 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/protocol/AckMsg.java patch | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java 6 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java 6 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java 4 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -898,17 +898,6 @@
      {
        this.saveGenerationId(generationId);
      }
    }
    else if (!op.isSynchronizationOperation())
    {
      // Remove an unsuccessful non-replication operation from the pending
      // changes list.
      if (curChangeNumber != null)
      {
        pendingChanges.remove(curChangeNumber);
        pendingChanges.pushCommittedChanges();
      }
    }
    if (!op.isSynchronizationOperation())
    {
@@ -928,6 +917,17 @@
      }
    }
  }
    else if (!op.isSynchronizationOperation())
    {
      // Remove an unsuccessful non-replication operation from the pending
      // changes list.
      if (curChangeNumber != null)
      {
        pendingChanges.remove(curChangeNumber);
        pendingChanges.pushCommittedChanges();
      }
    }
  }
  /**
   * Get the number of updates in the pending list.
opends/src/server/org/opends/server/replication/protocol/AckMsg.java
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 *      Copyright 2008-2009 Sun Microsystems, Inc.
 */
package org.opends.server.workflowelement.localbackend;
@@ -417,8 +417,8 @@
      }
      finally
      {
        processPostOperation();
        LockManager.unlock(entryDN, entryLock);
        processSynchPostOperationPlugins();
      }
    }
@@ -798,7 +798,7 @@
      return returnVal;
  }
  private void processPostOperation() {
  private void processSynchPostOperationPlugins() {
      for (SynchronizationProvider<?> provider :
          DirectoryServer.getSynchronizationProviders()) {
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 *      Copyright 2008-2009 Sun Microsystems, Inc.
 */
package org.opends.server.workflowelement.localbackend;
@@ -605,9 +605,9 @@
      }
      finally
      {
        processPostOperation();
        LockManager.unlock(entryDN, currentLock);
        LockManager.unlock(newDN, newLock);
        processSynchPostOperationPlugins();
      }
    }
@@ -1274,7 +1274,7 @@
      return returnVal;
  }
  private void processPostOperation() {
  private void processSynchPostOperationPlugins() {
      for (SynchronizationProvider<?> provider : DirectoryServer
              .getSynchronizationProviders()) {
          try {
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
@@ -658,8 +658,8 @@
      }
      finally
      {
        processPostOperation();
        LockManager.unlock(entryDN, entryLock);
        processSynchPostOperationPlugins();
      }
    }
@@ -2328,7 +2328,7 @@
      return returnVal;
  }
  private void processPostOperation() {
  private void processSynchPostOperationPlugins() {
      for (SynchronizationProvider<?> provider :
          DirectoryServer.getSynchronizationProviders()) {
          try {