forked from MirrorHub/synapse
Back out perf regression from get_cross_signing_keys_from_cache. (#6494)
Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression.
This commit is contained in:
parent
30e9adf32f
commit
adfdd82b21
4 changed files with 20 additions and 30 deletions
1
changelog.d/6494.bugfix
Normal file
1
changelog.d/6494.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression.
|
|
@ -264,7 +264,6 @@ class E2eKeysHandler(object):
|
|||
|
||||
return ret
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_cross_signing_keys_from_cache(self, query, from_user_id):
|
||||
"""Get cross-signing keys for users from the database
|
||||
|
||||
|
@ -284,35 +283,14 @@ class E2eKeysHandler(object):
|
|||
self_signing_keys = {}
|
||||
user_signing_keys = {}
|
||||
|
||||
for user_id in query:
|
||||
# XXX: consider changing the store functions to allow querying
|
||||
# multiple users simultaneously.
|
||||
key = yield self.store.get_e2e_cross_signing_key(
|
||||
user_id, "master", from_user_id
|
||||
)
|
||||
if key:
|
||||
master_keys[user_id] = key
|
||||
|
||||
key = yield self.store.get_e2e_cross_signing_key(
|
||||
user_id, "self_signing", from_user_id
|
||||
)
|
||||
if key:
|
||||
self_signing_keys[user_id] = key
|
||||
|
||||
# users can see other users' master and self-signing keys, but can
|
||||
# only see their own user-signing keys
|
||||
if from_user_id == user_id:
|
||||
key = yield self.store.get_e2e_cross_signing_key(
|
||||
user_id, "user_signing", from_user_id
|
||||
)
|
||||
if key:
|
||||
user_signing_keys[user_id] = key
|
||||
|
||||
return {
|
||||
# Currently a stub, implementation coming in https://github.com/matrix-org/synapse/pull/6486
|
||||
return defer.succeed(
|
||||
{
|
||||
"master_keys": master_keys,
|
||||
"self_signing_keys": self_signing_keys,
|
||||
"user_signing_keys": user_signing_keys,
|
||||
}
|
||||
)
|
||||
|
||||
@trace
|
||||
@defer.inlineCallbacks
|
||||
|
|
|
@ -33,3 +33,6 @@ New federated private chats get full presence information (SYN-115)
|
|||
# Blacklisted due to https://github.com/matrix-org/matrix-doc/pull/2314 removing
|
||||
# this requirement from the spec
|
||||
Inbound federation of state requires event_id as a mandatory paramater
|
||||
|
||||
# Blacklisted until https://github.com/matrix-org/synapse/pull/6486 lands
|
||||
Can upload self-signing keys
|
||||
|
|
|
@ -183,6 +183,10 @@ class E2eKeysHandlerTestCase(unittest.TestCase):
|
|||
)
|
||||
self.assertDictEqual(devices["master_keys"], {local_user: keys2["master_key"]})
|
||||
|
||||
test_replace_master_key.skip = (
|
||||
"Disabled waiting on #https://github.com/matrix-org/synapse/pull/6486"
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_reupload_signatures(self):
|
||||
"""re-uploading a signature should not fail"""
|
||||
|
@ -503,3 +507,7 @@ class E2eKeysHandlerTestCase(unittest.TestCase):
|
|||
],
|
||||
other_master_key["signatures"][local_user]["ed25519:" + usersigning_pubkey],
|
||||
)
|
||||
|
||||
test_upload_signatures.skip = (
|
||||
"Disabled waiting on #https://github.com/matrix-org/synapse/pull/6486"
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue