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

neil_a_wilson
13.25.2007 7d886d4aec5b1c09cf63882335006e43e2ab2516
Update the backend config manager to do a more thorough cleanup job when
deleting a backend configuration entry.
1 files modified
31 ■■■■■ changed files
opends/src/server/org/opends/server/core/BackendConfigManager.java 31 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/BackendConfigManager.java
@@ -2369,6 +2369,37 @@
      }
      DirectoryServer.deregisterBackend(backend);
      configEntry.deregisterChangeListener(this);
      // Remove the shared lock for this backend.
      try
      {
        String lockFile = LockFileManager.getBackendLockFileName(backend);
        StringBuilder failureReason = new StringBuilder();
        if (! LockFileManager.releaseLock(lockFile, failureReason))
        {
          int msgID = MSGID_CONFIG_BACKEND_CANNOT_RELEASE_SHARED_LOCK;
          String message = getMessage(msgID, backend.getBackendID(),
                                      String.valueOf(failureReason));
          logError(ErrorLogCategory.CONFIGURATION,
                   ErrorLogSeverity.SEVERE_WARNING, message, msgID);
          // FIXME -- Do we need to send an admin alert?
        }
      }
      catch (Exception e2)
      {
        if (debugEnabled())
        {
          debugCaught(DebugLogLevel.ERROR, e2);
        }
        int msgID = MSGID_CONFIG_BACKEND_CANNOT_RELEASE_SHARED_LOCK;
        String message = getMessage(msgID, backend.getBackendID(),
                                    stackTraceToSingleLineString(e2));
        logError(ErrorLogCategory.CONFIGURATION,
                 ErrorLogSeverity.SEVERE_WARNING, message, msgID);
        // FIXME -- Do we need to send an admin alert?
      }
      return new ConfigChangeResult(resultCode, adminActionRequired,
                                    messages);