Issue #422 has been reported by Clément OUDOT.

----------------------------------------
Bug #422: Service asynchronousLdapSourceService not fault tolerant
http://tools.lsc-project.org/issues/422

Author: Clément OUDOT
Status: New
Priority: Normal
Assigned to: 
Category: Core
Target version: 2.0.x branch
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