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

