Yeah, that's what I thought too looking quickly at the code.

Tell me if I can be of any help (because I guess, you're not having it fail on 
your machine).

Regards,
Pierre-Arnaud

On 31 mai 2011, at 10:30, Kiran Ayyagari wrote:

> Yeah, Emmanuel had the same issue yesterday, looks like a timing
> issue, will fix it
> 
> On Tue, May 31, 2011 at 1:30 PM, Pierre-Arnaud Marcelot <[email protected]> 
> wrote:
>> Hi Kiran,
>> 
>> Looks like this test does not pass here (tested this under two different 
>> machines).
>> 
>> Here's the output:
>>> Tests in error:
>>>   
>>> testRebootConsumer(org.apache.directory.server.replication.ClientServerReplicationIT):
>>>  Attempt to lookup non-existant entry: cn=user5,dc=example,dc=com
>>> 
>>> Tests run: 303, Failures: 0, Errors: 1, Skipped: 5
>> 
>> 
>> Regards,
>> Pierre-Arnaud
>> 
>> On 30 mai 2011, at 13:59, [email protected] wrote:
>> 
>>> Author: kayyagari
>>> Date: Mon May 30 11:59:34 2011
>>> New Revision: 1129134
>>> 
>>> URL: http://svn.apache.org/viewvc?rev=1129134&view=rev
>>> Log:
>>> o added a test to check the replication of data to the client when the 
>>> client goes offline and reboots after some activity on the master server
>>> 
>>> Modified:
>>>    
>>> directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/replication/ClientServerReplicationIT.java
>>> 
>>> Modified: 
>>> directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/replication/ClientServerReplicationIT.java
>>> URL: 
>>> http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/replication/ClientServerReplicationIT.java?rev=1129134&r1=1129133&r2=1129134&view=diff
>>> ==============================================================================
>>> --- 
>>> directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/replication/ClientServerReplicationIT.java
>>>  (original)
>>> +++ 
>>> directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/replication/ClientServerReplicationIT.java
>>>  Mon May 30 11:59:34 2011
>>> @@ -67,11 +67,11 @@ public class ClientServerReplicationIT
>>> 
>>>     private static LdapServer consumerServer;
>>> 
>>> -    private SchemaManager schemaManager;
>>> +    private static SchemaManager schemaManager;
>>> 
>>> -    private CoreSession providerSession;
>>> +    private static CoreSession providerSession;
>>> 
>>> -    private CoreSession consumerSession;
>>> +    private static CoreSession consumerSession;
>>> 
>>>     private static AtomicInteger entryCount = new AtomicInteger();
>>> 
>>> @@ -93,15 +93,6 @@ public class ClientServerReplicationIT
>>>     }
>>> 
>>> 
>>> -    @Before
>>> -    public void accessFields()
>>> -    {
>>> -        schemaManager = 
>>> providerServer.getDirectoryService().getSchemaManager();
>>> -        providerSession = 
>>> providerServer.getDirectoryService().getAdminSession();
>>> -        consumerSession = 
>>> consumerServer.getDirectoryService().getAdminSession();
>>> -    }
>>> -
>>> -
>>>     @Test
>>>     public void testInjectContextEntry() throws Exception
>>>     {
>>> @@ -202,6 +193,32 @@ public class ClientServerReplicationIT
>>>     }
>>> 
>>> 
>>> +    @Test
>>> +    public void testRebootConsumer() throws Exception
>>> +    {
>>> +        Entry provUser = createEntry();
>>> +
>>> +        providerSession.add( provUser );
>>> +
>>> +        waitAndCompareEntries( provUser.getDn() );
>>> +
>>> +        consumerServer.stop();
>>> +
>>> +        Dn deletedUserDn = provUser.getDn();
>>> +        providerSession.delete( deletedUserDn );
>>> +
>>> +        provUser = createEntry();
>>> +        Dn addedUserDn = provUser.getDn();
>>> +        providerSession.add( provUser );
>>> +
>>> +        startConsumer();
>>> +
>>> +        Thread.sleep( 2000 );
>>> +        assertFalse( consumerSession.exists( deletedUserDn ) );
>>> +        waitAndCompareEntries( addedUserDn );
>>> +    }
>>> +
>>> +
>>>     private void waitAndCompareEntries( Dn dn ) throws Exception
>>>     {
>>>         // sleep for 2 sec (twice the refresh interval), just to let the 
>>> first refresh request succeed
>>> @@ -263,6 +280,8 @@ public class ClientServerReplicationIT
>>>                 try
>>>                 {
>>>                     providerServer.start();
>>> +                    schemaManager = 
>>> providerServer.getDirectoryService().getSchemaManager();
>>> +                    providerSession = 
>>> providerServer.getDirectoryService().getAdminSession();
>>>                 }
>>>                 catch( Exception e )
>>>                 {
>>> @@ -274,6 +293,7 @@ public class ClientServerReplicationIT
>>>         Thread t = new Thread( r );
>>>         t.setDaemon( true );
>>>         t.start();
>>> +        t.join();
>>>     }
>>> 
>>> 
>>> @@ -325,6 +345,7 @@ public class ClientServerReplicationIT
>>>                 try
>>>                 {
>>>                     consumerServer.start();
>>> +
>>>                     DirectoryService ds = 
>>> consumerServer.getDirectoryService();
>>> 
>>>                     Dn configDn = new Dn( ds.getSchemaManager(), 
>>> "ads-replProviderId=localhost,ou=system" );
>>> @@ -347,7 +368,8 @@ public class ClientServerReplicationIT
>>>                     provConfigEntry.add( "ads-replUserDn", 
>>> config.getReplUserDn() );
>>>                     provConfigEntry.add( "ads-replUserPassword", 
>>> config.getReplUserPassword() );
>>> 
>>> -                    ds.getAdminSession().add( provConfigEntry );
>>> +                    consumerSession = 
>>> consumerServer.getDirectoryService().getAdminSession();
>>> +                    consumerSession.add( provConfigEntry );
>>>                 }
>>>                 catch( Exception e )
>>>                 {
>>> @@ -359,5 +381,6 @@ public class ClientServerReplicationIT
>>>         Thread t = new Thread( r );
>>>         t.setDaemon( true );
>>>         t.start();
>>> +        t.join();
>>>     }
>>> }
>>> 
>>> 
>> 
>> 
> 
> 
> 
> -- 
> Kiran Ayyagari

Reply via email to