You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2012/11/26 19:27:23 UTC

svn commit: r1413769 - in /directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider: ReplConsumerManager.java ReplicaEventLogJanitor.java ReplicaJournalCursor.java SyncReplRequestHandler.java

Author: elecharny
Date: Mon Nov 26 18:27:22 2012
New Revision: 1413769

URL: http://svn.apache.org/viewvc?rev=1413769&view=rev
Log:
Minor improvemnts

Modified:
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplConsumerManager.java
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaEventLogJanitor.java
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaJournalCursor.java
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplConsumerManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplConsumerManager.java?rev=1413769&r1=1413768&r2=1413769&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplConsumerManager.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplConsumerManager.java Mon Nov 26 18:27:22 2012
@@ -117,7 +117,7 @@ public class ReplConsumerManager
 
 
     /**
-     * Initialize the replication Store, creating the ou=consumers,ou=system entry
+     * Initialize the replication Store, creating the ou=consumers,ou=system entry (only if it does not exist yet)
      */
     private void createConsumersBranch() throws Exception
     {
@@ -231,9 +231,7 @@ public class ReplConsumerManager
 
         if ( mod == null )
         {
-            lastSentCsnAt = new DefaultAttribute( ADS_REPL_LAST_SENT_CSN_AT, replica.getLastSentCsn() );
-
-            mod = new DefaultModification( ModificationOperation.REPLACE_ATTRIBUTE, lastSentCsnAt );
+            mod = new DefaultModification( ModificationOperation.REPLACE_ATTRIBUTE, ADS_REPL_LAST_SENT_CSN_AT, replica.getLastSentCsn() );
 
             modMap.put( replica.getId(), mod );
         }
@@ -270,7 +268,7 @@ public class ReplConsumerManager
         searchRequest.setBase( REPL_CONSUMER_DN );
         searchRequest.setScope( SearchScope.ONELEVEL );
         searchRequest.setFilter( filter );
-        searchRequest.addAttributes( SchemaConstants.ALL_OPERATIONAL_ATTRIBUTES, SchemaConstants.ALL_USER_ATTRIBUTES );
+        searchRequest.addAttributes( SchemaConstants.ALL_ATTRIBUTES_ARRAY );
 
         EntryFilteringCursor cursor = adminSession.search( searchRequest );
 

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaEventLogJanitor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaEventLogJanitor.java?rev=1413769&r1=1413768&r2=1413769&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaEventLogJanitor.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaEventLogJanitor.java Mon Nov 26 18:27:22 2012
@@ -29,7 +29,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Deletes old entries from the replication event logs that are
+ * Deletes old entries from the replication event logs that
  * are configured in refreshNPersist mode
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
@@ -98,10 +98,12 @@ public class ReplicaEventLogJanitor exte
                         
                         ReplicaJournalCursor cursor = log.getCursor( null ); // pass no CSN
                         cursor.skipQualifyingWhileFetching();
+                        
                         while( cursor.next() )
                         {
                             ReplicaEventMessage message = cursor.get();
                             String csnVal = message.getEntry().get( SchemaConstants.ENTRY_CSN_AT ).getString();
+                            
                             // skip if we reach the lastSentCsn or got past it
                             if( csnVal.compareTo( lastSentCsn ) >= 0 )
                             {
@@ -109,6 +111,7 @@ public class ReplicaEventLogJanitor exte
                             }
                                 
                             Csn csn = new Csn( csnVal );
+                            
                             if( ( now - csn.getTimestamp() ) >= thresholdTime )
                             {
                                 cursor.delete();

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaJournalCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaJournalCursor.java?rev=1413769&r1=1413768&r2=1413769&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaJournalCursor.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaJournalCursor.java Mon Nov 26 18:27:22 2012
@@ -21,7 +21,6 @@
 package org.apache.directory.server.ldap.replication.provider;
 
 
-import java.io.IOException;
 import java.util.Iterator;
 
 import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable;

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java?rev=1413769&r1=1413768&r2=1413769&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java Mon Nov 26 18:27:22 2012
@@ -31,8 +31,10 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -151,6 +153,7 @@ public class SyncReplRequestHandler impl
      */
     public void start( LdapServer server )
     {
+        // Check that the handler is not already started : we don't want to start it twice... 
         if ( initialized )
         {
             LOG.warn( "syncrepl provider was already initialized" );
@@ -184,6 +187,7 @@ public class SyncReplRequestHandler impl
                 }
             }
 
+            // Create the replication manager 
             replicaUtil = new ReplConsumerManager( dirService );
 
             loadReplicaInfo();
@@ -936,7 +940,7 @@ public class SyncReplRequestHandler impl
         try
         {
             List<ReplicaEventLog> eventLogs = replicaUtil.getReplicaEventLogs();
-            List<String> eventLogNames = new ArrayList<String>();
+            Set<String> eventLogNames = new HashSet<String>();
             
             if ( !eventLogs.isEmpty() )
             {
@@ -961,8 +965,7 @@ public class SyncReplRequestHandler impl
             }
             
             // remove unused logs
-            File[] replicaLogNames = getAllReplJournalNames();
-            for( File f : replicaLogNames )
+            for( File f : getAllReplJournalNames() )
             {
                 if( !eventLogNames.contains( f.getName() ) )
                 {
@@ -990,8 +993,8 @@ public class SyncReplRequestHandler impl
 
             if ( log.getSearchCriteria() != null )
             {
-                LOG.debug( "registering peristent search for the replica {}", log.getId() );
-                PROVIDER_LOG.debug( "registering peristent search for the replica {}", log.getId() );
+                LOG.debug( "registering persistent search for the replica {}", log.getId() );
+                PROVIDER_LOG.debug( "registering persistent search for the replica {}", log.getId() );
                 SyncReplSearchListener handler = new SyncReplSearchListener( null, null, log, false );
                 log.setPersistentListener( handler );
 
@@ -999,9 +1002,9 @@ public class SyncReplRequestHandler impl
             }
             else
             {
-                LOG.warn( "invalid peristent search criteria {} for the replica {}", log.getSearchCriteria(), log
+                LOG.warn( "invalid persistent search criteria {} for the replica {}", log.getSearchCriteria(), log
                     .getId() );
-                PROVIDER_LOG.warn( "invalid peristent search criteria {} for the replica {}", log.getSearchCriteria(), log
+                PROVIDER_LOG.warn( "invalid persistent search criteria {} for the replica {}", log.getSearchCriteria(), log
                     .getId() );
             }
         }