annotate src/main/java/christie/topology/manager/SearchHostName.java @ 168:c7300be0fff6

fix incomingHosts end message
author akahori
date Tue, 22 Jan 2019 16:00:29 +0900
parents f172c4540461
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
1 package christie.topology.manager;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
2
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
3
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
4 import christie.annotation.Peek;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
5 import christie.annotation.Take;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
6 import christie.codegear.CodeGear;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
7 import christie.codegear.CodeGearManager;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
8 import christie.topology.HostMessage;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
9
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
10 import java.util.HashMap;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
11 import java.util.LinkedList;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
12
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
13 public class SearchHostName extends CodeGear {
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
14
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
15 @Take // reconnect NodeInfo
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
16 HostMessage reconnectHost;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
17
60
cfd79a71f9cd refactor topology manager
akahori
parents: 50
diff changeset
18 @Peek
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
19 HashMap<String, LinkedList<HostMessage>> topology;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
20
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
21 @Peek
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
22 boolean running;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
23
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
24
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
25 public SearchHostName(){
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
26
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
27 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
28
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
29 @Override
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
30 protected void run(CodeGearManager cgm) {
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
31
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
32
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
33 // Question: remove処理 どうしようか. いらない気もする.
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
34 // DataSegment.remove(hostInfo.absName);
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
35
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
36 String nodeName = reconnectHost.getNodeName();
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
37 String hostName = reconnectHost.getHostName();
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
38 int port = reconnectHost.getPort();
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
39
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
40 cgm.createRemoteDGM(nodeName, hostName, port);
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
41 getDGM(nodeName).put("nodeName", nodeName);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
42
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
43 // put Host dataSegment on reconnect node
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
44 if (topology.containsKey(nodeName)) {
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
45
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
46 // Question: これはバグ...?
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
47 // ods.put(reconnectHost.absName, "dummy"); // this is bug
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
48
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
49 if (running){
134
f172c4540461 fix topologyManager
akahori
parents: 94
diff changeset
50 getLocalDGM().put(nodeName, "");
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
51 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
52
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
53
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
54 LinkedList<HostMessage> hostList = topology.get(nodeName);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
55 for (HostMessage host : hostList){
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
56 getLocalDGM().put(nodeName, host);
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
57 System.out.println("put data in "+ nodeName);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
58 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
59 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
60
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
61 // update topology information
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
62 for (LinkedList<HostMessage> list :topology.values()){
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
63 for (HostMessage host : list){
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
64
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
65 // find and update old info
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
66 if (!nodeName.equals(host.getNodeName())) continue;
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
67
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
68 if (!hostName.equals(host.getHostName()) || port != host.getPort()){
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
69 host.setHostAndPort(hostName, port);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
70
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
71 getLocalDGM().put(host.getNodeName(), host);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
72
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
73 } else {
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
74 // nothing to do ?
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
75 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
76 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
77 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
78
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
79 for (LinkedList<HostMessage> list :topology.values()){
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
80 System.out.print(list.get(0).getRemoteNodeName()+" : ");
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
81 for (HostMessage host : list){
94
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
82 System.out.print("[ "+host.getNodeName() +" "
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
83 +host.getHostName() +" "
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
84 +host.getPort() +" "
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
85 +host.getConnectionName()+" "
87a203c99177 update HostMessage refactor
akahori
parents: 93
diff changeset
86 +host.getRemoteNodeName()+" ]");
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
87 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
88 System.out.println();
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
89 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
90 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
91
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
92 }