You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Martin Alderson (JIRA)" <ji...@apache.org> on 2007/04/04 17:45:32 UTC
[jira] Created: (DIRSERVER-895) Servers refuse to replicate
Servers refuse to replicate
---------------------------
Key: DIRSERVER-895
URL: https://issues.apache.org/jira/browse/DIRSERVER-895
Project: Directory ApacheDS
Issue Type: Bug
Components: mitosis
Affects Versions: 1.5.0
Reporter: Martin Alderson
It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (DIRSERVER-895) Servers refuse to replicate
Posted by "Martin Alderson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DIRSERVER-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Alderson closed DIRSERVER-895.
-------------------------------------
> Servers refuse to replicate
> ---------------------------
>
> Key: DIRSERVER-895
> URL: https://issues.apache.org/jira/browse/DIRSERVER-895
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: mitosis
> Affects Versions: 1.5.0
> Reporter: Martin Alderson
> Assignee: Martin Alderson
> Fix For: 1.5.1
>
>
> It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
> I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
> It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRSERVER-895) Servers refuse to replicate
Posted by "Martin Alderson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DIRSERVER-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498252 ]
Martin Alderson commented on DIRSERVER-895:
-------------------------------------------
This problem is indeed caused by a message timing out.
When a message times out while the replica is marked as being in a transaction the context is closed but the replicaInTransaction flag is only reset when a context for a _different_ replica is closed.
To fix this change "if ( !ctx.getPeer().equals( replicaInTransaction ) )" to "if ( ctx.getPeer().equals( replicaInTransaction ) )" in org.apache.directory.mitosis.service.protocol.handler.ReplicationServerContextHandler.contextEnd.
> Servers refuse to replicate
> ---------------------------
>
> Key: DIRSERVER-895
> URL: https://issues.apache.org/jira/browse/DIRSERVER-895
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: mitosis
> Affects Versions: 1.5.0
> Reporter: Martin Alderson
>
> It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
> I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
> It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRSERVER-895) Servers refuse to replicate
Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DIRSERVER-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498293 ]
Emmanuel Lecharny commented on DIRSERVER-895:
---------------------------------------------
Hi Martin,
the current replication system we have is very basic, and won't support the extended features we want it to support in the near future. This is why we want to rewrite it completely.
However, you can use it, and we can apply the patches you are submitting.
We are also interested in feedbacks because they will help us to see which kind of problems we have with the current replication system (nothing is better than real life usage ...)
Ultimatly, we are *really* interested in having more people involved in the rewrite we are planning, because it will be hudge and complex. So feel free to join us !
> Servers refuse to replicate
> ---------------------------
>
> Key: DIRSERVER-895
> URL: https://issues.apache.org/jira/browse/DIRSERVER-895
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: mitosis
> Affects Versions: 1.5.0
> Reporter: Martin Alderson
>
> It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
> I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
> It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (DIRSERVER-895) Servers refuse to replicate
Posted by "Martin Alderson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DIRSERVER-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Alderson resolved DIRSERVER-895.
---------------------------------------
Resolution: Fixed
Fix Version/s: (was: 1.5.2)
1.5.1
Assignee: Martin Alderson
If a connection is closed during a replication transaction (which could be due to a flakey connection or a message timeout etc) this bug would have cropped up. Applied the patch mentioned earlier.
> Servers refuse to replicate
> ---------------------------
>
> Key: DIRSERVER-895
> URL: https://issues.apache.org/jira/browse/DIRSERVER-895
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: mitosis
> Affects Versions: 1.5.0
> Reporter: Martin Alderson
> Assignee: Martin Alderson
> Fix For: 1.5.1
>
>
> It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
> I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
> It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRSERVER-895) Servers refuse to replicate
Posted by "Alex Karasulu (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DIRSERVER-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498268 ]
Alex Karasulu commented on DIRSERVER-895:
-----------------------------------------
The mitosis replication subsystem needs to be completely rewritten since we have discovered criticial flaws. If you're interested in getting involved with this effort please let us know. We need more man power on replication to bring it to a usable state.
> Servers refuse to replicate
> ---------------------------
>
> Key: DIRSERVER-895
> URL: https://issues.apache.org/jira/browse/DIRSERVER-895
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: mitosis
> Affects Versions: 1.5.0
> Reporter: Martin Alderson
>
> It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
> I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
> It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRSERVER-895) Servers refuse to replicate
Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DIRSERVER-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Lecharny updated DIRSERVER-895:
----------------------------------------
Fix Version/s: 1.5.2
Postponed to 1.5.2.
I think that every Mitosis problem should be worked out on the next 1.5.1 versio, as we will dedicate a lot of effort on Mitosis soon
> Servers refuse to replicate
> ---------------------------
>
> Key: DIRSERVER-895
> URL: https://issues.apache.org/jira/browse/DIRSERVER-895
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: mitosis
> Affects Versions: 1.5.0
> Reporter: Martin Alderson
> Fix For: 1.5.2
>
>
> It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
> I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
> It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRSERVER-895) Servers refuse to replicate
Posted by "Martin Alderson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DIRSERVER-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498290 ]
Martin Alderson commented on DIRSERVER-895:
-------------------------------------------
Hi Alex,
I would be interested in knowing what critical flaws the current system has aside from the ones listed in this tracker. I think I have found another couple of issues myself but I need to make sure they were not my doing before I report them.
I am attempting to use the replication module (I've branched it for now so I can mold it into something I can use) in a specific project I am working on. I'm not entirely sure why it would need to be completely rewritten - the basic architecture seems reasonable to me. Obviously it is not production ready yet but isn't it just a case of rigorously testing it and fixing the problesm as and when they occur?
I can continue this discussion elsewhere (the dev mailing list?) if you want by the way.
> Servers refuse to replicate
> ---------------------------
>
> Key: DIRSERVER-895
> URL: https://issues.apache.org/jira/browse/DIRSERVER-895
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: mitosis
> Affects Versions: 1.5.0
> Reporter: Martin Alderson
>
> It is possible for a server to get itself in a state where it will never accept replication logs from other servers until it is restarted.
> I encountered this while debugging but I believe it must be possible to get in this state during normal execution.
> It seems that there is a case where a server starts a replication transaction (sets ReplicationServerContextHandler#replicaInTransaction) but fails to notice that it has ended (perhaps due to a message timeout?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.