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

Status changed from New to Assigned
Assigned to set to Sébastien Bahloul
Target version changed from 2.0.x branch to 2.0

We have to fix the connection reset. The daemon mode will be done for next 
major version.
----------------------------------------
Bug #422: Service asynchronousLdapSourceService not fault tolerant
http://tools.lsc-project.org/issues/422

Author: Clément OUDOT
Status: Assigned
Priority: Normal
Assigned to: Sébastien Bahloul
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