# HG changeset patch # User akahori # Date 1548402981 -32400 # Node ID 2068aa841a4d85885df25e9d86cebb9985ab00ad # Parent 7e97f59a13fa5e39b6ab4ef8dcf206eb7a42c1ef fix paxos diff -r 7e97f59a13fa -r 2068aa841a4d src/main/java/christie/test/topology/paxos/StartPaxosNode.java --- /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()); + } + +} + diff -r 7e97f59a13fa -r 2068aa841a4d src/main/java/christie/test/topology/paxos/acceptor/AcceptCodeGear.java --- 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 _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{ diff -r 7e97f59a13fa -r 2068aa841a4d src/main/java/christie/test/topology/paxos/acceptor/StartAcceptor.java --- 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()); - } - -} - - diff -r 7e97f59a13fa -r 2068aa841a4d src/main/java/christie/test/topology/paxos/learner/StartLearner.java --- 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()); - } - -} - - diff -r 7e97f59a13fa -r 2068aa841a4d src/main/java/christie/test/topology/paxos/proposer/StartProposer.java --- 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()); - } - -} - -