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

boli
22.56.2009 4942a89087d560696123c5de7d87ee99c2210c9d
opends/src/server/org/opends/server/backends/jeb/Index.java
@@ -499,21 +499,6 @@
    OperationStatus status;
    DatabaseEntry data = new DatabaseEntry();
    // Handle cases where nothing is changed early to avoid
    // DB access.
    if(deletedIDs != null && deletedIDs.size() == 0 &&
        (addedIDs == null || addedIDs.size() == 0))
    {
      return;
    }
    if(addedIDs != null && addedIDs.size() == 0 &&
        (deletedIDs == null || deletedIDs.size() == 0))
    {
      return;
    }
    if(deletedIDs == null && addedIDs == null)
    {
      status = delete(txn, key);
@@ -532,6 +517,14 @@
      return;
    }
    // Handle cases where nothing is changed early to avoid
    // DB access.
    if((deletedIDs == null || deletedIDs.size() == 0) &&
        (addedIDs == null || addedIDs.size() == 0))
    {
      return;
    }
    if(maintainCount)
    {
      for(int i = 0; i < phantomWriteRetires; i++)
@@ -565,18 +558,22 @@
      }
      else
      {
        if(rebuildRunning || trusted)
        if(deletedIDs != null && !rebuildRunning && trusted)
        {
          if(deletedIDs != null)
          if(debugEnabled())
          {
            if(debugEnabled())
            {
              StringBuilder builder = new StringBuilder();
              StaticUtils.byteArrayToHexPlusAscii(builder, key.getData(), 4);
              TRACER.debugError("The expected key does not exist in the " +
                  "index %s.\nKey:%s", name, builder.toString());
            }
            StringBuilder builder = new StringBuilder();
            StaticUtils.byteArrayToHexPlusAscii(builder, key.getData(), 4);
            TRACER.debugError("The expected key does not exist in the " +
                "index %s.\nKey:%s", name, builder.toString());
          }
          setTrusted(txn, false);
        }
        if((rebuildRunning || trusted) && addedIDs != null &&
            addedIDs.size() > 0)
        {
          data.setData(addedIDs.toDatabase());
          status = insert(txn, key, data);
@@ -682,25 +679,25 @@
    }
    else
    {
      if(rebuildRunning || trusted)
      if(deletedIDs != null && !rebuildRunning && trusted)
      {
        if(deletedIDs != null)
        if(debugEnabled())
        {
          if(debugEnabled())
          {
            StringBuilder builder = new StringBuilder();
            StaticUtils.byteArrayToHexPlusAscii(builder, key.getData(), 4);
            TRACER.debugError("The expected key does not exist in the " +
                "index %s.\nKey:%s", name, builder.toString());
          }
          StringBuilder builder = new StringBuilder();
          StaticUtils.byteArrayToHexPlusAscii(builder, key.getData(), 4);
          TRACER.debugError("The expected key does not exist in the " +
              "index %s.\nKey:%s", name, builder.toString());
        }
        setTrusted(txn, false);
      }
      if((rebuildRunning || trusted) && addedIDs != null && addedIDs.size() > 0)
      {
        data.setData(addedIDs.toDatabase());
        return insert(txn, key, data);
      }
      else
      {
        return OperationStatus.SUCCESS;
      }
      return OperationStatus.SUCCESS;
    }
  }