Issue #422 has been updated by Raphaël Ouazana.

Assigned to changed from Sébastien Bahloul to Clément OUDOT

This seems to work now in branch v2.0. Please test.
If this works, you can target this bug to trunk where it seems not to work.
----------------------------------------
Bug #422: Service asynchronousLdapSourceService not fault tolerant
http://tools.lsc-project.org/issues/422

Author: Clément OUDOT
Status: Assigned
Priority: Normal
Assigned to: Clément OUDOT
Category: Core
Target version: 2.0
Problem in version: 


I made some tests with the new service asynchronousLdapSourceService. In my 
mind, this service is dedicated to be used in a daemon mode, and so, should run 
even if source or destination is unreachable.

* Test 1: LDAP source or destination nos started: in this case, LSC daemon do 
not want to start:
<pre>
avr. 05 10:12:20 - ERROR - Error opening the LDAP connection to the 
destination! (javax.naming.CommunicationException: localhost:3389 [Root 
exception is java.net.ConnectException: Connection refused])
avr. 05 10:12:20 - ERROR - org.lsc.exception.LscConfigurationException: 
java.lang.reflect.InvocationTargetException
Last log file line: avr. 05 10:12:20 - ERROR - 
org.lsc.exception.LscConfigurationException: 
java.lang.reflect.InvocationTargetException
</pre>

* Test 2: LDAP source stopped and restarted while LSC daemon is running: in 
this case, the new modifications are never seen in LSC, we have to restart it 
to get them.

* Test 3:  LDAP destination stopped while LSC daemon is running: LSC throw an 
error but continue its execution. When LSC daemon is restarted, the 
modifications are propagated.
<pre>
avr. 05 10:21:04 - ERROR - Error while looking for 
(&(objectClass=person)(uid=agent.test)) in ou=people,ou=xxx: 
javax.naming.CommunicationException: connection closed [Root exception is 
java.io.IOException: connection closed]; remaining name 'ou=people'
avr. 05 10:21:04 - ERROR - Error while synchronizing ID uid=agent.test,ou=xxx: 
org.lsc.exception.LscServiceException: javax.naming.CommunicationException: 
connection closed [Root exception is java.io.IOException: connection closed]; 
remaining name 'ou=people'
</pre>


So, the expected behavior for me would be:
* Allow LSC in daemon mode to start even in source or destination is not 
available, we could just log a warning in this case
* Set a retry feature in asynchronousLdapSourceService so LSC can open a new 
connection if the current was closed. The parameter would be the same as the 
retry in OpenLDAP syncrepl configuration (for example retry="5 5 300 +")




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://tools.lsc-project.org/my/account
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-dev mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-dev

Reply via email to