You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2012/11/09 17:28:12 UTC

[jira] [Created] (DIRSERVER-1760) When one of the server disconnect brutally, replication stops working

Emmanuel Lecharny created DIRSERVER-1760:
--------------------------------------------

             Summary: When one of the server disconnect brutally, replication stops working
                 Key: DIRSERVER-1760
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1760
             Project: Directory ApacheDS
          Issue Type: Bug
    Affects Versions: 2.0.0-M9
            Reporter: Emmanuel Lecharny
             Fix For: 2.0.0-M9


If we unplug the network cable, the replication does not work anymore, even if we replug the cable. The disconnection is detected if we update the local server, but we never retry to connect again :

[17:21:09] ERROR [org.apache.directory.server.ldap.replication.provider.SyncReplSearchListener] - 
org.apache.mina.core.write.WriteToClosedSessionException
	at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:462)
	at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:439)
	at org.apache.directory.server.ldap.replication.provider.SyncReplSearchListener.sendResult(SyncReplSearchListener.java:198)
	at org.apache.directory.server.ldap.replication.provider.SyncReplSearchListener.entryModified(SyncReplSearchListener.java:326)
	at org.apache.directory.server.core.event.EventInterceptor.fire(EventInterceptor.java:148)
	at org.apache.directory.server.core.event.EventInterceptor.modify(EventInterceptor.java:281)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.subtree.SubentryInterceptor.modify(SubentryInterceptor.java:1208)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.collective.CollectiveAttributeInterceptor.modify(CollectiveAttributeInterceptor.java:176)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:432)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.schema.SchemaInterceptor.modify(SchemaInterceptor.java:1393)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.hash.PasswordHashingInterceptor.modify(PasswordHashingInterceptor.java:113)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.exception.ExceptionInterceptor.modify(ExceptionInterceptor.java:298)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthorizationInterceptor.java:281)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationInterceptor.java:844)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.java:309)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.authn.AuthenticationInterceptor.modify(AuthenticationInterceptor.java:1110)
	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
	at org.apache.directory.server.core.normalization.NormalizationInterceptor.modify(NormalizationInterceptor.java:239)
	at org.apache.directory.server.core.DefaultOperationManager.modify(DefaultOperationManager.java:830)
	at org.apache.directory.server.core.shared.DefaultCoreSession.modify(DefaultCoreSession.java:951)
	at org.apache.directory.server.core.shared.DefaultCoreSession.modify(DefaultCoreSession.java:934)
	at org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:55)
	at org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:38)
	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:209)
	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
	at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
	at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:209)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
	at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
	at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:474)
	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:428)

I'm also afraid that we won't be able to detect such a disconnection if it occurs, as the network layer won't be informed about it. 
	at java.lang.Thread.run(Thread.java:722)




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (DIRSERVER-1760) When one of the server disconnect brutally, replication stops working

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DIRSERVER-1760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny resolved DIRSERVER-1760.
------------------------------------------

    Resolution: Fixed

This has been fixed
                
> When one of the server disconnect brutally, replication stops working
> ---------------------------------------------------------------------
>
>                 Key: DIRSERVER-1760
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1760
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M9
>            Reporter: Emmanuel Lecharny
>             Fix For: 2.0.0-M9
>
>
> If we unplug the network cable, the replication does not work anymore, even if we replug the cable. The disconnection is detected if we update the local server, but we never retry to connect again :
> [17:21:09] ERROR [org.apache.directory.server.ldap.replication.provider.SyncReplSearchListener] - 
> org.apache.mina.core.write.WriteToClosedSessionException
> 	at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:462)
> 	at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:439)
> 	at org.apache.directory.server.ldap.replication.provider.SyncReplSearchListener.sendResult(SyncReplSearchListener.java:198)
> 	at org.apache.directory.server.ldap.replication.provider.SyncReplSearchListener.entryModified(SyncReplSearchListener.java:326)
> 	at org.apache.directory.server.core.event.EventInterceptor.fire(EventInterceptor.java:148)
> 	at org.apache.directory.server.core.event.EventInterceptor.modify(EventInterceptor.java:281)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.subtree.SubentryInterceptor.modify(SubentryInterceptor.java:1208)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.collective.CollectiveAttributeInterceptor.modify(CollectiveAttributeInterceptor.java:176)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:432)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.schema.SchemaInterceptor.modify(SchemaInterceptor.java:1393)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.hash.PasswordHashingInterceptor.modify(PasswordHashingInterceptor.java:113)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.exception.ExceptionInterceptor.modify(ExceptionInterceptor.java:298)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthorizationInterceptor.java:281)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationInterceptor.java:844)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.java:309)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.authn.AuthenticationInterceptor.modify(AuthenticationInterceptor.java:1110)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:599)
> 	at org.apache.directory.server.core.normalization.NormalizationInterceptor.modify(NormalizationInterceptor.java:239)
> 	at org.apache.directory.server.core.DefaultOperationManager.modify(DefaultOperationManager.java:830)
> 	at org.apache.directory.server.core.shared.DefaultCoreSession.modify(DefaultCoreSession.java:951)
> 	at org.apache.directory.server.core.shared.DefaultCoreSession.modify(DefaultCoreSession.java:934)
> 	at org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:55)
> 	at org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:38)
> 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:209)
> 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
> 	at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
> 	at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:209)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
> 	at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
> 	at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
> 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:474)
> 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:428)
> I'm also afraid that we won't be able to detect such a disconnection if it occurs, as the network layer won't be informed about it. 
> 	at java.lang.Thread.run(Thread.java:722)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira