Skip to content

[18.0] session_db: Error when using user devices. #3661

Description

@tarteo

Module

session_db

Describe the bug

Vacuuming old user devices records:

  1. set system parameter sessions.max_inactivity_seconds to something small like 2 seconds;
  2. run the vacuum cron job;
  3. the following error is logged.
2026-06-24 08:35:01,993 54517 ERROR 18-fix-session-store-2 odoo.addons.base.models.ir_autovacuum: Failed res.device.log()._ResDeviceLog__update_revoked() 
Traceback (most recent call last):
  File "/home/tarteo/dev/oca/odoo/odoo/addons/base/models/ir_autovacuum.py", line 38, in _run_vacuum_cleaner
    func(model)
  File "/home/tarteo/dev/oca/odoo/odoo/addons/base/models/res_device.py", line 162, in __update_revoked
    revoked_session_identifiers = root.session_store.get_missing_session_identifiers(
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'PGSessionStore' object has no attribute 'get_missing_session_identifiers'

Revoking a user device:

  1. Go to Settings > Technical > Security > User Devices;
  2. click revoke on one of the records
Traceback (most recent call last):
  File "/odoo/src/odoo/odoo/http.py", line 2167, in _transactioning
    return service_model.retrying(func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/service/model.py", line 157, in retrying
    result = func()
             ^^^^^^
  File "/odoo/src/odoo/odoo/http.py", line 2134, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/http.py", line 2382, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 333, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/http.py", line 754, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/addons/web/controllers/dataset.py", line 42, in call_button
    action = call_kw(request.env[model], method, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/api.py", line 535, in call_kw
    result = getattr(recs, name)(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/addons/base/models/res_users.py", line 2213, in run_check
    return method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/addons/base/models/res_users.py", line 146, in wrapped
    return fn(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/addons/base/models/res_device.py", line 184, in revoke
    return self._revoke()
           ^^^^^^^^^^^^^^
  File "/odoo/src/odoo/odoo/addons/base/models/res_device.py", line 189, in _revoke
    root.session_store.delete_from_identifiers(session_identifiers)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'PGSessionStore' object has no attribute 'delete_from_identifiers'

Affected versions: 18.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions