diff options
author | Eric Eastwood <erice@element.io> | 2021-11-18 14:16:08 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-18 14:16:08 -0600 |
commit | 7ffddd819c2e0e7edff141e987372205894084b6 (patch) | |
tree | 59a16ad5c78c8cd6935549e8b8168964e5db878c /synapse/appservice | |
parent | Remove legacy code related to deprecated `trust_identity_server_for_password_... (diff) | |
download | synapse-7ffddd819c2e0e7edff141e987372205894084b6.tar.xz |
Prevent historical state from being pushed to an application service via `/transactions` (MSC2716) (#11265)
Mark historical state from the MSC2716 `/batch_send` endpoint as `historical` which makes it `backfilled` and have a negative `stream_ordering` so it doesn't get queried by `/transactions`. Fix https://github.com/matrix-org/synapse/issues/11241 Complement tests: https://github.com/matrix-org/complement/pull/221
Diffstat (limited to 'synapse/appservice')
-rw-r--r-- | synapse/appservice/api.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py index d08f6bbd7f..f51b636417 100644 --- a/synapse/appservice/api.py +++ b/synapse/appservice/api.py @@ -231,13 +231,32 @@ class ApplicationServiceApi(SimpleHttpClient): json_body=body, args={"access_token": service.hs_token}, ) + if logger.isEnabledFor(logging.DEBUG): + logger.debug( + "push_bulk to %s succeeded! events=%s", + uri, + [event.get("event_id") for event in events], + ) sent_transactions_counter.labels(service.id).inc() sent_events_counter.labels(service.id).inc(len(events)) return True except CodeMessageException as e: - logger.warning("push_bulk to %s received %s", uri, e.code) + logger.warning( + "push_bulk to %s received code=%s msg=%s", + uri, + e.code, + e.msg, + exc_info=logger.isEnabledFor(logging.DEBUG), + ) except Exception as ex: - logger.warning("push_bulk to %s threw exception %s", uri, ex) + logger.warning( + "push_bulk to %s threw exception(%s) %s args=%s", + uri, + type(ex).__name__, + ex, + ex.args, + exc_info=logger.isEnabledFor(logging.DEBUG), + ) failed_transactions_counter.labels(service.id).inc() return False |