A very basic check which every day tries to connect to every known instance. If the connection fails or returns something different than HTTP 200, the instance is marked as dead and no federation activities will be sent to it.

This implementation is really basic, there can be false positives if an instance is temporarily down or unreachable during the check. It also rechecks all known instances every day, even if they have been down for years. Nevertheless it should be a major improvement, we can add more sophisticated checks later.

Still need to fix two problems mentioned in comments.

Originally posted by Nutomic in #3427

  • issue_tracking_bot@lemm.eeOPB
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I would suggest, at minimum, you query the database to determine which instances have delivered you comments in the past 24 hours and exclude them from any dead server check.

    Example SQL query:

    SELECT SUBSTRING( ap_id FROM '.*://([^/]*)' ) AS hostname, count(substring( ap_id FROM '.*://([^/]*)' )) FROM comment WHERE published >= NOW() - INTERVAL '24 HOURS' GROUP BY hostname ORDER BY count DESC ;

    Originally posted by RocketDerp in #3427