Adam Ierymenko
|
05b2c0743f
Tighten up dead path detection. Should now auto-detect dead paths in less than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272
|
9 years ago |
Adam Ierymenko
|
4d94ae77b4
simplify if
|
9 years ago |
Adam Ierymenko
|
d8143a5e18
Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev)
|
9 years ago |
Adam Ierymenko
|
436c1fac1d
Selectively move over changes from "edge" to "dev" excluding netcon.
|
9 years ago |
Adam Ierymenko
|
0940d673db
Always advertise to the cluster when we have a peer even if we have also initiated handoff. This might be the cause of the warmup problem -- will test later. At the very least it should not hurt anything due to pick-latest logic and the fact that cluster members with only suboptimal paths do not respond to WANT_PEER.
|
9 years ago |
Adam Ierymenko
|
32ec378e3b
Announce that we have peers on the cluster when we first see them to improve startup times, and add a result crunching script to tests/http.
|
9 years ago |
Adam Ierymenko
|
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
|
9 years ago |
Adam Ierymenko
|
35c4e28f31
Mark geo-redirected paths as suboptimal and do not report that we have a peer if all we have is one of these. Also a few other small fixes.
|
9 years ago |
Adam Ierymenko
|
57b71bfff0
Cluster simplification and refactor work in progress...
|
9 years ago |
Adam Ierymenko
|
6bc8c9d8ef
Clustering cleanup, still a work in progress.
|
9 years ago |
Adam Ierymenko
|
5f39d5b7ea
Further pare down Cluster messaging and rename some stuff.
|
9 years ago |
Adam Ierymenko
|
a42d714a87
.
|
9 years ago |
Adam Ierymenko
|
a994573a43
Eliminate some more dead code. We may do path trust, but not like that.
|
9 years ago |
Adam Ierymenko
|
cdc99bfee1
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
9 years ago |
Adam Ierymenko
|
cc1b275ad9
Replicate peer endpoints and forget paths if we have them -- this allows two clusters to talk to each other, whereas forgetting all paths does not.
|
9 years ago |
Adam Ierymenko
|
cc6080fe38
(1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking.
|
9 years ago |
Adam Ierymenko
|
218ef07d8e
Build fix in TRACE mode.
|
9 years ago |
Adam Ierymenko
|
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
9 years ago |
Adam Ierymenko
|
40976c02a4
Forget paths to peers if we are handing them off.
|
9 years ago |
Adam Ierymenko
|
a1a0ee4edb
Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks)
|
9 years ago |
Adam Ierymenko
|
9617208e40
Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.
|
9 years ago |
Adam Ierymenko
|
69857b4ba8
Refactor cluster redirects to move code to push peers out of the actual Cluster function that checks for redirect, and clean up Peer::received() to be a bit more logical.
|
9 years ago |
Adam Ierymenko
|
e713f7a54c
Can redirect in response to a few more verbs, just not these.
|
9 years ago |
Adam Ierymenko
|
98d856daa2
Only send redirects to the sending InetAddress and only in response to a set of certain frame types to avoid potential race conditions.
|
9 years ago |
Adam Ierymenko
|
8bfb02ba3c
Only send redirects for the same address class, and elminiate some TRACE noise.
|
9 years ago |
Adam Ierymenko
|
978b056a01
Wire in redirectPeer(), now about ready to test clustering!
|
9 years ago |
Adam Ierymenko
|
2258e36a59
Move replication of COMs to avoid race condition.
|
9 years ago |
Adam Ierymenko
|
59e1444b27
Finish wiring up Cluster, fix some issues with other recent changes.
|
9 years ago |
Adam Ierymenko
|
eb79d4a2f3
Wire up peer announcement in cluster.
|
9 years ago |
Adam Ierymenko
|
57e29857cf
Cluster work -- integrating with the rest of the code.
|
9 years ago |