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

ludovicp
31.45.2010 ca156caf9b6a29477027a5ea6442773a2ebbb057
Fix issue #4507. Improve performances of searches in ELC with bounded filters, like (&(changeNumber>=0)(changeNumber<=999))
Also remove a concurrent modification exception in online init, detected with unit tests.
2 files modified
11 ■■■■ changed files
opends/src/server/org/opends/server/replication/server/ECLServerHandler.java 8 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/service/ReplicationDomain.java 3 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -1400,7 +1400,7 @@
                break;
              }
            } // while DraftCN
          }
          } // if draftCompat
          // here we have the right oldest change
          // and in the draft case, we have its draft changenumber
@@ -1414,7 +1414,11 @@
          {
            domainCtxts[iDom].active = false;
          }
          if (draftCompat && (lastDraftCN>0) &&
              (oldestChange.getDraftChangeNumber()>lastDraftCN))
          {
            domainCtxts[iDom].active = false;
          }
          if (domainCtxts[iDom].active)
          {
            // populates the table with the next eligible msg from idomain
opends/src/server/org/opends/server/replication/service/ReplicationDomain.java
@@ -1699,7 +1699,8 @@
      done = true;
      short reconnectMaxDelayInSec = 10;
      short reconnectWait = 0;
      for (int serverId : replicasWeAreWaitingFor)
      Integer[] servers = replicasWeAreWaitingFor.toArray(new Integer[0]);
      for (int serverId : servers)
      {
        if (ieContext.failureList.contains(serverId))
        {