Skip to content

RAM/Mem Cache#502

Open
zmsdev wants to merge 7 commits into
mainfrom
fb_ram_cache
Open

RAM/Mem Cache#502
zmsdev wants to merge 7 commits into
mainfrom
fb_ram_cache

Conversation

@zmsdev

@zmsdev zmsdev commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Improve performance by introducing shared cache and applying minor fixes.

@zmsdev
zmsdev requested a review from drfho July 1, 2026 12:17
@drfho

drfho commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

@zmsdev : function fetchReqBuff() constantly runs into exceptions:
image

@drfho

drfho commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

@zmsdev : after fix 74e988c the consumed time is not reduced significantly (<10%)

@drfho

drfho commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Model may get incomplete

Usertest: caching may be incomplete and thus ZMI does

  1. not show any content (standard_html missing?)
  2. not render context-menu/actionlist (see error-log below)

ad [1]
ram_cached

ad [2]

2026-07-09 01:24:09 ERROR [Zope.SiteErrorLog:238][waitress-2] 1783553049.75279710.3073767079089562 http://127.0.0.1:8086/unibe/portal/content/manage_ajaxZMIActions
Traceback (innermost last):
  Module ZPublisher.WSGIPublisher, line 179, in transaction_pubevents
  Module ZPublisher.WSGIPublisher, line 388, in publish_module
  Module ZPublisher.WSGIPublisher, line 282, in publish
  Module ZPublisher.mapply, line 98, in mapply
  Module ZPublisher.WSGIPublisher, line 68, in call_object
  Module Products.zms.zmscontainerobject, line 558, in manage_ajaxZMIActions
  Module Products.zms._zmi_actions_util, line 42, in zmi_actions
  Module Products.zms._zmi_actions_util, line 169, in zmi_insert_actions
  Module Products.zms.ZMSMetaobjManager, line 594, in getTypedMetaIds
KeyError: 'type'
2026-07-09 01:24:09 ERROR [waitress:437][waitress-2] Exception while serving /unibe/portal/content/manage_ajaxZMIActions
Traceback (most recent call last):
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/channel.py", line 430, in service
    task.service()
    ~~~~~~~~~~~~^^
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/task.py", line 167, in service
    self.execute()
    ~~~~~~~~~~~~^^
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/task.py", line 435, in execute
    app_iter = self.channel.server.application(environ, start_response)
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/proxy_headers.py", line 64, in translate_proxy_headers
    return app(environ, start_response)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/httpexceptions.py", line 30, in __call__
    return self.application(environ, start_response)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/vpy313/lib/python3.13/site-packages/paste/translogger.py", line 76, in __call__
    return self.application(environ, replacement_start_response)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/WSGIPublisher.py", line 388, in publish_module
    response = _publish(request, new_mod_info)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/WSGIPublisher.py", line 282, in publish
    result = mapply(obj,
                    request.args,
    ...<5 lines>...
                    request,
                    bind=1)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/mapply.py", line 98, in mapply
    return debug(object, args, context)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/WSGIPublisher.py", line 68, in call_object
    return obj(*args)
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/zmscontainerobject.py", line 558, in manage_ajaxZMIActions
    actions.extend( _zmi_actions_util.zmi_actions(container, context, attr_id))
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/_zmi_actions_util.py", line 42, in zmi_actions
    actions.extend(zmi_insert_actions(container, context, objAttr, objChildren, objPath))
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/_zmi_actions_util.py", line 169, in zmi_insert_actions
    meta_ids = container.getMetaobjManager().getTypedMetaIds(meta_keys)
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/ZMSMetaobjManager.py", line 594, in getTypedMetaIds
    if metaObj['type'] == meta_obj_type and metaObj['enabled']:
       ~~~~~~~^^^^^^^^
KeyError: 'type'
2026-07-09 01:24:29 ERROR [waitress:437][waitress-1] Exception while serving /unibe/portal/content/manage_ajaxZMIActions
Traceback (most recent call last):
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/channel.py", line 430, in service
    task.service()
    ~~~~~~~~~~~~^^
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/task.py", line 167, in service
    self.execute()
    ~~~~~~~~~~~~^^
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/task.py", line 435, in execute
    app_iter = self.channel.server.application(environ, start_response)
  File "/home/zope/vpy313/lib/python3.13/site-packages/waitress/proxy_headers.py", line 64, in translate_proxy_headers
    return app(environ, start_response)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/httpexceptions.py", line 30, in __call__
    return self.application(environ, start_response)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/vpy313/lib/python3.13/site-packages/paste/translogger.py", line 76, in __call__
    return self.application(environ, replacement_start_response)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/WSGIPublisher.py", line 388, in publish_module
    response = _publish(request, new_mod_info)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/WSGIPublisher.py", line 282, in publish
    result = mapply(obj,
                    request.args,
    ...<5 lines>...
                    request,
                    bind=1)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/mapply.py", line 98, in mapply
    return debug(object, args, context)
  File "/home/zope/src/zopefoundation/Zope/src/ZPublisher/WSGIPublisher.py", line 68, in call_object
    return obj(*args)
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/zmscontainerobject.py", line 558, in manage_ajaxZMIActions
    actions.extend( _zmi_actions_util.zmi_actions(container, context, attr_id))
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/_zmi_actions_util.py", line 42, in zmi_actions
    actions.extend(zmi_insert_actions(container, context, objAttr, objChildren, objPath))
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/_zmi_actions_util.py", line 169, in zmi_insert_actions
    meta_ids = container.getMetaobjManager().getTypedMetaIds(meta_keys)
  File "/home/zope/src/zms-publishing/ZMS5/Products/zms/ZMSMetaobjManager.py", line 594, in getTypedMetaIds
    if metaObj['type'] == meta_obj_type and metaObj['enabled']:
       ~~~~~~~^^^^^^^^
KeyError: 'type'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants