summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorAmber Brown <hawkowl@atleastfornow.net>2018-10-02 22:53:47 +1000
committerGitHub <noreply@github.com>2018-10-02 22:53:47 +1000
commit7232917f12460efa2e3579331b6a97f046afe90b (patch)
treef74e0fa7eb25660d10df412f7293822e0ebedd6d /synapse
parentMerge pull request #3990 from matrix-org/erikj/fix_logging_lost_connection (diff)
downloadsynapse-7232917f12460efa2e3579331b6a97f046afe90b.tar.xz
Disable frozen dicts by default (#3987)
Diffstat (limited to 'synapse')
-rw-r--r--synapse/events/__init__.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/synapse/events/__init__.py b/synapse/events/__init__.py
index b782af6308..12f1eb0a3e 100644
--- a/synapse/events/__init__.py
+++ b/synapse/events/__init__.py
@@ -13,15 +13,22 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+import os
+from distutils.util import strtobool
+
 import six
 
 from synapse.util.caches import intern_dict
 from synapse.util.frozenutils import freeze
 
 # Whether we should use frozen_dict in FrozenEvent. Using frozen_dicts prevents
-# bugs where we accidentally share e.g. signature dicts. However, converting
-# a dict to frozen_dicts is expensive.
-USE_FROZEN_DICTS = True
+# bugs where we accidentally share e.g. signature dicts. However, converting a
+# dict to frozen_dicts is expensive.
+#
+# NOTE: This is overridden by the configuration by the Synapse worker apps, but
+# for the sake of tests, it is set here while it cannot be configured on the
+# homeserver object itself.
+USE_FROZEN_DICTS = strtobool(os.environ.get("SYNAPSE_USE_FROZEN_DICTS", "0"))
 
 
 class _EventInternalMetadata(object):