1 | Revision history for AnyEvent::MP |
1 | Revision history for AnyEvent::MP |
2 | |
2 | |
3 | TODO: global protocol fix? |
|
|
4 | TODO: use seednodes only to broadcast? |
|
|
5 | TODO: testsuite |
3 | TODO: testsuite |
6 | TODO: intro: maybe simple job pool example? |
4 | TODO: intro: maybe simple job pool example? |
7 | TODO: intro: mention watchdog... |
5 | TODO: intro: mention watchdog... |
8 | TODO: group monitoring |
|
|
9 | |
6 | |
10 | TODO: cal, cal_func |
7 | faq: can't se anything |
11 | TODO: mon_nodes should init-call for all up nodes |
8 | faq: all is asynch |
12 | TODO: known_nodes no longer relevant => connected_nodes? |
9 | faq: how to interface to non-perl nodes? |
13 | TODO: spawn does not create remote port dummy entry |
10 | |
14 | TODO: better autoseeding, timout*(nconnect+1) |
11 | TODO: maybe disbale warnings by default? |
|
|
12 | TODO: lies sadrak mails |
|
|
13 | |
|
|
14 | - fix error in callback at AnyEvent/MP/Global.pm line 339 |
|
|
15 | (found by Sadrak). |
|
|
16 | - listener-less nodes had trouble sending keepalive |
|
|
17 | messages on write timeouts (found by Sadrak). |
|
|
18 | - the monitor guard could cause a memleak due |
|
|
19 | to autovivification if a mon was cleared after |
|
|
20 | the port was gone (analysed by Sadrak). |
|
|
21 | - do not overwrite the config file if we couldn't read it |
|
|
22 | for some reason (lesson demonstrated by Sadrak). |
|
|
23 | |
|
|
24 | 1.28 Thu Apr 1 21:23:54 CEST 2010 |
|
|
25 | - accepted connections didn't correctly set up the SRCNODE |
|
|
26 | in some cases, leading to intra-node messages (such as monitoring) |
|
|
27 | to fail silently (great testcase by Sadrak). |
|
|
28 | |
|
|
29 | 1.27 Sat Mar 20 21:11:16 CET 2010 |
|
|
30 | - avoid exceptions in the transport code if the connection |
|
|
31 | fails during TLS negotiation. |
|
|
32 | - delay new address broadcasts in seednodes, to reduce the |
|
|
33 | likelyhood of nodes connecting at the same time, leading to |
|
|
34 | message loss. |
|
|
35 | - improve general message passing efficiency by 8%, and special |
|
|
36 | case json framing for a 50% speed increase. |
|
|
37 | - add hints how to interface to aemp nodes from other programming |
|
|
38 | languages using the aemp protocol in AnyEvent::MP::Transport |
|
|
39 | (it can really be quite simple). |
|
|
40 | - handle unsupported remote framings more gracefully. |
|
|
41 | |
|
|
42 | 1.26 Wed Dec 30 16:48:37 CET 2009 |
|
|
43 | - INCOMPATIBLE CHANGE: the high-level node protocol changed, |
|
|
44 | all nodes need to upgrade. |
|
|
45 | - remote kil's did not work (reported by Eugene Grigoriev). |
|
|
46 | - documented monitor_timeout, connect_interval, auth_offer, |
|
|
47 | auth_accept, framing_format, autocork and nodelay options |
|
|
48 | and make them configurable via bin/aemp. |
|
|
49 | - some doc updates. |
|
|
50 | - remote kil's were not synchronous to message sends which affected |
|
|
51 | nobody, as remote kils were broken. |
|
|
52 | - remote mon/unmonitor requests were not synchronous to message |
|
|
53 | sends either sometimes, although it likely didnt matter. |
|
|
54 | |
|
|
55 | 1.24 Wed Dec 9 14:59:52 CET 2009 |
|
|
56 | - codename "the foul egg". |
|
|
57 | - increased "unmonitored local port died" message level to 2, so |
|
|
58 | it is displayed by default now. |
|
|
59 | - generate random seed at configure time, not module loading time, |
|
|
60 | so fork&configure works as expected. |
|
|
61 | - decreased "seed"-related message priority in Global from 0 (d'oh) |
|
|
62 | to 9, as they are not signifcant. |
|
|
63 | - new experimental module AnyEvent::MP::DataConn to establish |
|
|
64 | additional data connections between nodes. |
|
|
65 | - bin/aemp now loads AnyEvent::Watchdog::Util before trying |
|
|
66 | to call restart. |
|
|
67 | - bin/aemp setcert didn't properly handle the filename argument. |
|
|
68 | - removed empty and unused timeout= parameter from protocol greeting. |
|
|
69 | |
|
|
70 | 1.23 Fri Nov 6 18:46:26 CET 2009 |
|
|
71 | - listener-less nodes were misinformed by their masters about |
|
|
72 | the location of new nodes, and therefore didn't connect |
|
|
73 | properly in all cases. |
|
|
74 | - messages send during node-up processing could sometimes get lost, |
|
|
75 | which would hamper global's ability to mesh the network. |
|
|
76 | - fixed AnyEvent::MP::Global::grp_reg to return a guard also |
|
|
77 | in scalar context. |
|
|
78 | - fixed AnyEvent::MP::Kernel::mon_nodes to return a guard also |
|
|
79 | in scalar context. |
|
|
80 | - try to improve error reporting when automatically loading |
|
|
81 | a function - being unable to load a module will now |
|
|
82 | stop the process and report the error. |
|
|
83 | |
|
|
84 | 1.22 Sat Oct 17 03:41:47 CEST 2009 |
|
|
85 | - fix two rcv-bugs: after adding a tagged rcv, the default |
|
|
86 | callback would not be used or changed anymore (reported |
|
|
87 | by Felix Antonius Wilhelm Ostmann, with apologies for |
|
|
88 | taking so long to releae the fix). |
|
|
89 | - added Coro::MP introduction to AnyEvent::MP::Intro. |
|
|
90 | - add peval function. |
|
|
91 | |
|
|
92 | 1.21 Mon Oct 5 21:58:36 CEST 2009 |
|
|
93 | - always delay kil messages. |
|
|
94 | - remote monitor requests were never cleaned up (found by |
|
|
95 | Sadrak and analysed by elmex). |
|
|
96 | - move $VERSION to AnyEvent::MP and AnyEvent::MP only. |
|
|
97 | |
|
|
98 | 1.2 Thu Oct 1 22:59:35 CEST 2009 |
|
|
99 | - fix a rather big bug where message processing could be |
|
|
100 | inhibited completely. |
|
|
101 | - grp_mon could not return a guard due to a typo. |
|
|
102 | - implement primitive aemp shell. |
|
|
103 | - do not use bound address as listen length (reported by |
|
|
104 | Felix Antonius Wilhelm Ostman). |
|
|
105 | - no longer export an undefined "reg" function from AE::MP. |
|
|
106 | - the mon_guard return value no longer keeps an additional |
|
|
107 | reference to the passed refs. |
|
|
108 | |
|
|
109 | 1.1 Fri Sep 11 04:34:03 CEST 2009 |
|
|
110 | - bumped the transport protocol to version 1 - sorry, but there |
|
|
111 | were too many bugfixes/changes. |
|
|
112 | - new function AnyEvent::MP::cal for simple rpc. |
15 | - renamed AnyEvent::MP::Global functions to grp_reg|get|mon. |
113 | - renamed AnyEvent::MP::Global functions to grp_reg|get|mon. |
|
|
114 | - implemented monitoring for Global groups. |
16 | - removed all userspace time-outs from the transport, instead |
115 | - removed all userspace time-outs from the transport, instead |
17 | rely on tcp retransmit timeouts and tcp keepalive. |
116 | rely on tcp retransmit timeouts and tcp keepalive. |
18 | - spawn now delays spawns on the local node artificially, so |
117 | - spawn now delays spawns on the local node artificially, so |
19 | it can return before invoking the init function. |
118 | it can return before invoking the init function. |
20 | - break endless recursion between ping-pong ports on the local |
119 | - break endless recursion between ping-pong ports on the local |
… | |
… | |
23 | - added aemp restart. |
122 | - added aemp restart. |
24 | - support for starting init functions with parameters added. |
123 | - support for starting init functions with parameters added. |
25 | - data_format, auth_offer and auth_accept are now configurable, albeit |
124 | - data_format, auth_offer and auth_accept are now configurable, albeit |
26 | not documented. |
125 | not documented. |
27 | - new service: AnyEvent::MP::LogCatcher. |
126 | - new service: AnyEvent::MP::LogCatcher. |
|
|
127 | - rely on perl srand'ing better than we could. |
|
|
128 | - try to backport to 5.8.2, unfortunately, recursive dependencies |
|
|
129 | rely on Module::Build, which fails at 5.8.7, so YMMV. |
|
|
130 | - use a vastly different reseeding strategy. |
|
|
131 | - use seed nodes to notify nodes about new nodes. |
|
|
132 | - in the case where a ndoe learns new addresses after it tried |
|
|
133 | connecting, prefer the new addrseses over the old ones. |
28 | |
134 | |
29 | 1.0 Wed Sep 2 20:40:43 CEST 2009 |
135 | 1.0 Wed Sep 2 20:40:43 CEST 2009 |
30 | - randomise more connection times, but reduce delay to 0.2s (seeds) |
136 | - randomise more connection times, but reduce delay to 0.2s (seeds) |
31 | and 0.05s (normal connects). |
137 | and 0.05s (normal connects). |
32 | - upgrade to and require AnyEvent::Watchdog 1.0. |
138 | - upgrade to and require AnyEvent::Watchdog 1.0. |