diff --git a/frappe/model/meta.py b/frappe/model/meta.py index 4f03279de9..e2a8a7a8fa 100644 --- a/frappe/model/meta.py +++ b/frappe/model/meta.py @@ -56,7 +56,7 @@ DEFAULT_FIELD_LABELS = { def get_meta(doctype, cached=True) -> "Meta": - if not cached: + if not cached or frappe.flags.in_patch: return Meta(doctype) if meta := frappe.cache().hget("meta", doctype): diff --git a/frappe/patches.txt b/frappe/patches.txt index 2564a565b1..5d592fcfe8 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -211,5 +211,6 @@ frappe.patches.v14_0.set_suspend_email_queue_default frappe.patches.v14_0.different_encryption_key frappe.patches.v14_0.update_multistep_webforms execute:frappe.delete_doc('Page', 'background_jobs', ignore_missing=True, force=True) +frappe.patches.v14_0.drop_meta_cache frappe.patches.v14_0.drop_unused_indexes frappe.patches.v15_0.drop_modified_index diff --git a/frappe/patches/v14_0/drop_meta_cache.py b/frappe/patches/v14_0/drop_meta_cache.py new file mode 100644 index 0000000000..d240129001 --- /dev/null +++ b/frappe/patches/v14_0/drop_meta_cache.py @@ -0,0 +1,7 @@ +import frappe + + +def execute(): + cache = frappe.cache() + for key in cache.hkeys("meta"): + cache.hdel("meta", key) diff --git a/frappe/tests/test_perf.py b/frappe/tests/test_perf.py index 5ce5d2dd5d..4d0faad1c8 100644 --- a/frappe/tests/test_perf.py +++ b/frappe/tests/test_perf.py @@ -74,7 +74,7 @@ class TestPerformance(FrappeTestCase): """Ideally should be ran against gunicorn worker, though I have not seen any difference when using werkzeug's run_simple for synchronous requests.""" - EXPECTED_RPS = 55 # measured on GHA + EXPECTED_RPS = 50 # measured on GHA FAILURE_THREASHOLD = 0.1 req_count = 1000