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

pgamba
17.52.2009 dc0e5f15513808e9e1e92f69560a1bbde05e2771
Improve error handling for #4354 StringIndexOutOfBoundsException while polling ECL
1 files modified
23 ■■■■■ changed files
opendj-sdk/opends/src/server/org/opends/server/workflowelement/externalchangelog/ECLSearchOperation.java 23 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/externalchangelog/ECLSearchOperation.java
@@ -29,6 +29,7 @@
import static org.opends.messages.CoreMessages.*;
import static org.opends.server.loggers.ErrorLogger.logError;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import static org.opends.server.loggers.debug.DebugLogger.getTracer;
import static org.opends.server.util.ServerConstants.*;
@@ -1046,6 +1047,8 @@
          uAttrs.put(attributeType, attrList);
        pattern = "creatorsName: ";
        try
        {
        int att_cr = clearLDIFchanges.indexOf(pattern);
        if (att_cr>0)
        {
@@ -1067,6 +1070,15 @@
            uAttrs.put(attributeType, attrList);
        }
      }
        catch(Exception e)
        {
          TRACER.debugCaught(DebugLogLevel.ERROR, e);
          logError(Message.raw(Category.SYNC, Severity.MILD_ERROR,
              "Error in External Change Log when looking for pattern \""
              + pattern + "\" in string \""+
              clearLDIFchanges + "\" for change " + dnString));
        }
      }
      else if (changetype.equals("modify")||changetype.equals("modrdn"))
      {
        if (changetype.equals("modify"))
@@ -1087,6 +1099,8 @@
        }
        pattern = "modifiersName: ";
        try
        {
        int att_cr = clearLDIFchanges.indexOf(pattern);
        if (att_cr>0)
        {
@@ -1108,6 +1122,15 @@
            uAttrs.put(attributeType, attrList);
        }
      }
        catch(Exception e)
        {
          TRACER.debugCaught(DebugLogLevel.ERROR, e);
          logError(Message.raw(Category.SYNC, Severity.MILD_ERROR,
              "Error in External Change Log when looking for pattern \""
              + pattern + "\" in string \""+
              clearLDIFchanges + "\" for change " + dnString));
        }
      }
    }
    if (changetype.equals("delete") && (delInitiatorsName!=null))