Mercurial > prosody-modules
annotate mod_s2s_cache_failures/README.md @ 6398:9c9889ad4302
mod_unsubscriber: Add MUC support
This catches XEP-0045 Join stanzas and replies with an error telling the
prospective participant that the supposed MUC is gone. The user or their
client can then take action to remove any bookmark or at least disable
autojoin.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 07 Feb 2026 12:25:52 +0100 |
| parents | ee2ebdec1fae |
| children |
| rev | line source |
|---|---|
|
6343
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 --- |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 labels: |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 - Statistics |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 - Stage-Alpha |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 summary: Cache s2s failures and prevent excessive retries |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 ... |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 ## Description |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 This module essentially rate limits the number of outgoing connection attempts |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 to domains that Prosody hasn't been able to connect to. |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 This can help with resource usage (no need to queue undelivered stanzas for |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 unreachable domains), and also reduces noise in the log files. |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 The retry period is proportional to the amount of time since Prosody last had |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 a connection to the domain. It also includes some randomness to prevent |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 multiple servers unintentially flooding a domain with reconnection attempts at |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 the same time. On average a failed domain will be tried around 15 times in the |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 first hour of unavailability, decreasing in frequency to 1-2 attempts per hour |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 after that. |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 ## Configuration |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 The only configuration option is: |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 `s2s_failure_cache_size` |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 : The number of failed domains that will be remembered (overflows will simply |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 cause failures to be forgotten, and Prosody will retry those domains). |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 ## Compatibility |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 Requires Prosody 13.0 or later. |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 For users of Prosody trunk after 13.0, commit [4067a95336dd](https://hg.prosody.im/trunk/rev/4067a95336dd) |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 introduces a new `s2s_block_immediate_retries` option which you may want to |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 enable, to catch some cases of retries which this module cannot otherwise |
|
ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 prevent. |
