Skip to content
Snippets Groups Projects
Unverified Commit a79034ae authored by Richard van der Hoff's avatar Richard van der Hoff Committed by GitHub
Browse files

Merge pull request #4521 from matrix-org/rav/fed_routing/cleanups

Tiny .well-known fixes
parents c7b24ac3 283753c3
No related branches found
No related tags found
No related merge requests found
Implement MSC1708 (.well-known routing for server-server federation)
\ No newline at end of file
......@@ -298,16 +298,18 @@ class MatrixFederationAgent(object):
response = yield make_deferred_yieldable(
self._well_known_agent.request(b"GET", uri),
)
body = yield make_deferred_yieldable(readBody(response))
if response.code != 200:
raise Exception("Non-200 response %s" % (response.code, ))
except Exception as e:
logger.info("Connection error fetching %s: %s", uri_str, e)
self._well_known_cache.set(server_name, None, WELL_KNOWN_INVALID_CACHE_PERIOD)
defer.returnValue(None)
logger.info("Error fetching %s: %s", uri_str, e)
body = yield make_deferred_yieldable(readBody(response))
# add some randomness to the TTL to avoid a stampeding herd every hour
# after startup
cache_period = WELL_KNOWN_INVALID_CACHE_PERIOD
cache_period += random.uniform(0, WELL_KNOWN_DEFAULT_CACHE_PERIOD_JITTER)
if response.code != 200:
logger.info("Error response %i from %s", response.code, uri_str)
self._well_known_cache.set(server_name, None, WELL_KNOWN_INVALID_CACHE_PERIOD)
self._well_known_cache.set(server_name, None, cache_period)
defer.returnValue(None)
try:
......@@ -328,8 +330,8 @@ class MatrixFederationAgent(object):
)
if cache_period is None:
cache_period = WELL_KNOWN_DEFAULT_CACHE_PERIOD
# add some randomness to the TTL to avoid a stampeding herd every hour after
# startup
# add some randomness to the TTL to avoid a stampeding herd every 24 hours
# after startup
cache_period += random.uniform(0, WELL_KNOWN_DEFAULT_CACHE_PERIOD_JITTER)
else:
cache_period = min(cache_period, WELL_KNOWN_MAX_CACHE_PERIOD)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment