mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-24 20:59:22 -05:00
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
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
|
return ret
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def get_cross_signing_keys_from_cache(self, query, from_user_id):
|
def get_cross_signing_keys_from_cache(self, query, from_user_id):
|
||||||
"""Get cross-signing keys for users from the database
|
"""Get cross-signing keys for users from the database
|
||||||
|
|
||||||
@ -284,35 +283,14 @@ class E2eKeysHandler(object):
|
|||||||
self_signing_keys = {}
|
self_signing_keys = {}
|
||||||
user_signing_keys = {}
|
user_signing_keys = {}
|
||||||
|
|
||||||
for user_id in query:
|
# Currently a stub, implementation coming in https://github.com/matrix-org/synapse/pull/6486
|
||||||
# XXX: consider changing the store functions to allow querying
|
return defer.succeed(
|
||||||
# multiple users simultaneously.
|
{
|
||||||
key = yield self.store.get_e2e_cross_signing_key(
|
"master_keys": master_keys,
|
||||||
user_id, "master", from_user_id
|
"self_signing_keys": self_signing_keys,
|
||||||
)
|
"user_signing_keys": user_signing_keys,
|
||||||
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 {
|
|
||||||
"master_keys": master_keys,
|
|
||||||
"self_signing_keys": self_signing_keys,
|
|
||||||
"user_signing_keys": user_signing_keys,
|
|
||||||
}
|
|
||||||
|
|
||||||
@trace
|
@trace
|
||||||
@defer.inlineCallbacks
|
@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
|
# Blacklisted due to https://github.com/matrix-org/matrix-doc/pull/2314 removing
|
||||||
# this requirement from the spec
|
# this requirement from the spec
|
||||||
Inbound federation of state requires event_id as a mandatory paramater
|
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"]})
|
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
|
@defer.inlineCallbacks
|
||||||
def test_reupload_signatures(self):
|
def test_reupload_signatures(self):
|
||||||
"""re-uploading a signature should not fail"""
|
"""re-uploading a signature should not fail"""
|
||||||
@ -503,3 +507,7 @@ class E2eKeysHandlerTestCase(unittest.TestCase):
|
|||||||
],
|
],
|
||||||
other_master_key["signatures"][local_user]["ed25519:" + usersigning_pubkey],
|
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 New Issue
Block a user