Mercurial > hg > Database > Christie
changeset 172:2068aa841a4d
fix paxos
author | akahori |
---|---|
date | Fri, 25 Jan 2019 16:56:21 +0900 |
parents | 7e97f59a13fa |
children | 6ea1f8958d1a |
files | src/main/java/christie/test/topology/paxos/StartPaxosNode.java src/main/java/christie/test/topology/paxos/acceptor/AcceptCodeGear.java src/main/java/christie/test/topology/paxos/acceptor/StartAcceptor.java src/main/java/christie/test/topology/paxos/learner/StartLearner.java src/main/java/christie/test/topology/paxos/proposer/StartProposer.java |
diffstat | 5 files changed, 28 insertions(+), 56 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/test/topology/paxos/StartPaxosNode.java Fri Jan 25 16:56:21 2019 +0900 @@ -0,0 +1,14 @@ +package christie.test.topology.paxos; + +import christie.topology.node.StartTopologyNode; +import christie.topology.node.TopologyNodeConfig; + +public class StartPaxosNode { + + public static void main(String[] args){ + TopologyNodeConfig topologyNodeConfig = new TopologyNodeConfig(args); + new StartTopologyNode(topologyNodeConfig, new CheckMyName()); + } + +} +
--- a/src/main/java/christie/test/topology/paxos/acceptor/AcceptCodeGear.java Tue Jan 22 18:35:44 2019 +0900 +++ b/src/main/java/christie/test/topology/paxos/acceptor/AcceptCodeGear.java Fri Jan 25 16:56:21 2019 +0900 @@ -8,6 +8,8 @@ import christie.topology.TopologyDataGear; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class AcceptCodeGear extends CodeGear { @@ -17,6 +19,9 @@ @Take Proposal acceptProposal; + Pattern pattern = Pattern.compile("^(proposer|acceptor|learner)([0-9]+)$"); + + @Take Proposal promisedProposal; @@ -24,12 +29,18 @@ protected void run(CodeGearManager cgm) { List<String> _CLIST = topoDG.getConnectionList(); - if(acceptProposal.getNumber() >= promisedProposal.getNumber()){ + if(acceptProposal.getNumber() >= promisedProposal.getNumber()) { acceptProposal.setAccepted(true); acceptProposal.setAcceptorName(topoDG.getNodeName()); - for(String learnerName : _CLIST) - put(learnerName, "acceptedProposal", acceptProposal); + for (String connectionNodeName : _CLIST){ + Matcher matcher = pattern.matcher(connectionNodeName); + matcher.find(); + if(matcher.group(1).equals("learner")) { + put(connectionNodeName, "acceptedProposal", acceptProposal); + } + } + put(acceptProposal.getProposerName(), acceptProposal); put("promisedProposal", acceptProposal); }else{
--- a/src/main/java/christie/test/topology/paxos/acceptor/StartAcceptor.java Tue Jan 22 18:35:44 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -package christie.test.topology.paxos.acceptor; - - -import christie.test.topology.paxos.proposer.ProposerCodeGear; -import christie.topology.node.StartTopologyNode; -import christie.topology.node.TopologyNodeConfig; - -public class StartAcceptor { - - public static void main(String[] args){ - TopologyNodeConfig topologyNodeConfig = new TopologyNodeConfig(args); - new StartTopologyNode(topologyNodeConfig, new AcceptCodeGear()); - } - -} - -
--- a/src/main/java/christie/test/topology/paxos/learner/StartLearner.java Tue Jan 22 18:35:44 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -package christie.test.topology.paxos.learner; - - -import christie.test.topology.paxos.proposer.ProposerCodeGear; -import christie.topology.node.StartTopologyNode; -import christie.topology.node.TopologyNodeConfig; - -public class StartLearner { - - public static void main(String[] args){ - TopologyNodeConfig topologyNodeConfig = new TopologyNodeConfig(args); - new StartTopologyNode(topologyNodeConfig, new LearnerCodeGear()); - } - -} - -
--- a/src/main/java/christie/test/topology/paxos/proposer/StartProposer.java Tue Jan 22 18:35:44 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -package christie.test.topology.paxos.proposer; - - -import christie.codegear.CodeGearManager; -import christie.codegear.StartCodeGear; - -import christie.topology.node.StartTopologyNode; -import christie.topology.node.TopologyNodeConfig; - -public class StartProposer { - - public static void main(String[] args){ - TopologyNodeConfig topologyNodeConfig = new TopologyNodeConfig(args); - new StartTopologyNode(topologyNodeConfig, new ProposerCodeGear()); - } - -} - -