You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2010/10/17 00:14:12 UTC

svn commit: r1023385 - /directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConsumer.java

Author: kayyagari
Date: Sat Oct 16 22:14:12 2010
New Revision: 1023385

URL: http://svn.apache.org/viewvc?rev=1023385&view=rev
Log:
o added code to  check for the existence of the base DN till it is available
  (this is only relevant for refresh and persist mode only)

Modified:
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConsumer.java

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConsumer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConsumer.java?rev=1023385&r1=1023384&r2=1023385&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConsumer.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConsumer.java Sat Oct 16 22:14:12 2010
@@ -519,6 +519,21 @@ public class SyncReplConsumer implements
         {
             try
             {
+                boolean exists;
+                
+                do
+                {
+                    // first check for the existence of base DN, if not, keep checking at the default refresh intervals
+                    exists = connection.exists( config.getBaseDn() );
+                    
+                    if ( !exists )
+                    {
+                        LOG.warn( "replica base DN {} doesn't exist on the peer, retrying after {} milliseconds", config.getBaseDn(), config.getRefreshInterval() );
+                        Thread.sleep( config.getRefreshInterval() );
+                    }
+                }
+                while( !exists );
+                
                 LOG.debug( "==================== Refresh And Persist ==========" );
                 doSyncSearch( SynchronizationModeEnum.REFRESH_AND_PERSIST, false );
             }