annotate src/main/java/christie/topology/manager/SearchHostName.java @ 93:7abfe041b75c

update HostMessage del reverseKey
author akahori
date Sat, 15 Sep 2018 17:41:14 +0900
parents f884c1bd0d36
children 87a203c99177
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 import org.msgpack.type.ValueFactory;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
10
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
11 import java.util.HashMap;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
12 import java.util.LinkedList;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
13
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
14 public class SearchHostName extends CodeGear {
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
15
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
16 @Take // reconnect NodeInfo
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
17 HostMessage reconnectHost;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
18
60
cfd79a71f9cd refactor topology manager
akahori
parents: 50
diff changeset
19 @Peek
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
20 HashMap<String, LinkedList<HostMessage>> topology;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
21
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
22 @Peek
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
23 boolean running;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
24
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
25
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
26 public SearchHostName(){
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
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
30 @Override
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
31 protected void run(CodeGearManager cgm) {
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
32
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
33
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
34 // Question: remove処理 どうしようか. いらない気もする.
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
35 // DataSegment.remove(hostInfo.absName);
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
36
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
37 cgm.createRemoteDGM(reconnectHost.nodeName, reconnectHost.hostName, reconnectHost.port);
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
38 getDGM(reconnectHost.nodeName).put("host", reconnectHost.nodeName);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
39
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
40 // put Host dataSegment on reconnect node
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
41 if (topology.containsKey(reconnectHost.nodeName)) {
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
42
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
43 // Question: これはバグ...?
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
44 // ods.put(reconnectHost.absName, "dummy"); // this is bug
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
45
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
46 if (running){
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
47 getLocalDGM().put(reconnectHost.nodeName, ValueFactory.createNilValue());
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
48 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
49
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
50
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
51 LinkedList<HostMessage> hostList = topology.get(reconnectHost.nodeName);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
52 for (HostMessage host : hostList){
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
53 getLocalDGM().put(reconnectHost.nodeName, host);
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
54 System.out.println("put data in "+ reconnectHost.nodeName);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
55 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
56 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
57
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
58 // update topology information
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
59 for (LinkedList<HostMessage> list :topology.values()){
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
60 for (HostMessage host : list){
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
61
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
62 // find and update old info
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
63 if (!reconnectHost.nodeName.equals(host.nodeName)) continue;
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
64
50
8dfd93810041 fix config and HostMessage
akahori
parents: 43
diff changeset
65 if (!reconnectHost.hostName.equals(host.hostName) || reconnectHost.port != host.port){
8dfd93810041 fix config and HostMessage
akahori
parents: 43
diff changeset
66 host.hostName = reconnectHost.hostName;
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
67 host.port = reconnectHost.port;
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
68
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
69 getLocalDGM().put(host.remoteNodeName, host);
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
70
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
71 } else {
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
72 // nothing to do ?
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
73 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
74 }
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 for (LinkedList<HostMessage> list :topology.values()){
64
f884c1bd0d36 fix IncomingHosts and RecordTopology. and refactor.
akahori
parents: 60
diff changeset
78 System.out.print(list.get(0).remoteNodeName+" : ");
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
79 for (HostMessage host : list){
93
7abfe041b75c update HostMessage del reverseKey
akahori
parents: 64
diff changeset
80 System.out.print("[ "+host.nodeName+" "+host.hostName+" "+host.port+" "+host.connectionName+" "+host.remoteNodeName+" ]");
43
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
81 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
82 System.out.println();
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
83 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
84 }
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
85
ea9657dc8311 add CreateHash SearchHostName TopologyManager
akahori
parents:
diff changeset
86 }