view mod_s2s_cache_failures/README.md @ 6360:3e8bd71d39bb

mod_http_muc_log: Ignore fallback body next to XEP-0444: Message Reactions Some clients send a quote reply along with XEP-0444 in order to accommodate legacy clients. This however takes up some space and the reaction is shown twice. This is a matter of some debate with diverging opinions about whether this should be done at all and how to handle this.
author Kim Alvefur <zash@zash.se>
date Thu, 15 Jan 2026 16:03:01 +0100
parents ee2ebdec1fae
children
line wrap: on
line source

---
labels:
- Statistics
- Stage-Alpha
summary: Cache s2s failures and prevent excessive retries
...

## Description

This module essentially rate limits the number of outgoing connection attempts
to domains that Prosody hasn't been able to connect to.

This can help with resource usage (no need to queue undelivered stanzas for
unreachable domains), and also reduces noise in the log files.

The retry period is proportional to the amount of time since Prosody last had
a connection to the domain. It also includes some randomness to prevent
multiple servers unintentially flooding a domain with reconnection attempts at
the same time. On average a failed domain will be tried around 15 times in the
first hour of unavailability, decreasing in frequency to 1-2 attempts per hour
after that.

## Configuration

The only configuration option is:

`s2s_failure_cache_size`
: The number of failed domains that will be remembered (overflows will simply
cause failures to be forgotten, and Prosody will retry those domains).

## Compatibility

Requires Prosody 13.0 or later.

For users of Prosody trunk after 13.0, commit [4067a95336dd](https://hg.prosody.im/trunk/rev/4067a95336dd)
introduces a new `s2s_block_immediate_retries` option which you may want to
enable, to catch some cases of retries which this module cannot otherwise
prevent.