Adam Ierymenko
|
2160164e8c
(1) Get rid of path sorting and just scan them, since sorting may have been a premature optimization that introduced a regression and path instability in a few edge cases, and (2) do not attempt to contact remote paths received via PUSH_DIRECT_PATH if we already have that path and it is already active (dumb, should have done this originally)
|
10 tahun lalu |
Adam Ierymenko
|
022d3857cc
Fix should use ECHO check.
|
10 tahun lalu |
Adam Ierymenko
|
82aa3f59d6
Fix bug in ECHO handling (OK was invalid!), and use ECHO on newer peers for path confirmation. Also get rid of path confirmation circuit breaker since this causes issues with some peers and should be done more intelligently anyway.
|
10 tahun lalu |
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.
|
10 tahun lalu |
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.
|
10 tahun lalu |
Adam Ierymenko
|
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
|
10 tahun lalu |
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.
|
10 tahun lalu |
Adam Ierymenko
|
57b71bfff0
Cluster simplification and refactor work in progress...
|
10 tahun lalu |
Adam Ierymenko
|
6bc8c9d8ef
Clustering cleanup, still a work in progress.
|
10 tahun lalu |
Adam Ierymenko
|
5f39d5b7ea
Further pare down Cluster messaging and rename some stuff.
|
10 tahun lalu |
Adam Ierymenko
|
a42d714a87
.
|
10 tahun lalu |
Adam Ierymenko
|
a994573a43
Eliminate some more dead code. We may do path trust, but not like that.
|
10 tahun lalu |
Adam Ierymenko
|
cdc99bfee1
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
10 tahun lalu |
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.
|
10 tahun lalu |
Adam Ierymenko
|
cc6080fe38
(1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking.
|
10 tahun lalu |
Adam Ierymenko
|
218ef07d8e
Build fix in TRACE mode.
|
10 tahun lalu |
Adam Ierymenko
|
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
10 tahun lalu |
Adam Ierymenko
|
40976c02a4
Forget paths to peers if we are handing them off.
|
10 tahun lalu |
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)
|
10 tahun lalu |
Adam Ierymenko
|
9617208e40
Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.
|
10 tahun lalu |
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.
|
10 tahun lalu |
Adam Ierymenko
|
e713f7a54c
Can redirect in response to a few more verbs, just not these.
|
10 tahun lalu |
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.
|
10 tahun lalu |
Adam Ierymenko
|
8bfb02ba3c
Only send redirects for the same address class, and elminiate some TRACE noise.
|
10 tahun lalu |
Adam Ierymenko
|
978b056a01
Wire in redirectPeer(), now about ready to test clustering!
|
10 tahun lalu |
Adam Ierymenko
|
2258e36a59
Move replication of COMs to avoid race condition.
|
10 tahun lalu |
Adam Ierymenko
|
59e1444b27
Finish wiring up Cluster, fix some issues with other recent changes.
|
10 tahun lalu |
Adam Ierymenko
|
eb79d4a2f3
Wire up peer announcement in cluster.
|
10 tahun lalu |
Adam Ierymenko
|
57e29857cf
Cluster work -- integrating with the rest of the code.
|
10 tahun lalu |
Adam Ierymenko
|
cfdcce6d12
Fix very obscure IP scope classification logic bug.
|
10 tahun lalu |