Broken Types after upgrading to 2.1.0

Hi,
after upgrading our datagerry docker installation from 2.0.0 to 2.1.0 we figured out that there are 2 types we are not able to enter anymore.
(one contains references, one persons)

The strange thing:

  • its possible as a user
  • throws an error as admin

Workaround: downgrading to 2.0.0 works.
The missing user ids in the traceback are deleted users

that’s the traceback:

datagerry | [2024-06-13 12:58:12][ERROR   ] --- Exception on /objects/ [GET] (app.py)
datagerry | Traceback (most recent call last):
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 224, in get_objects
datagerry |   File "cmdb/framework/cmdb_render.py", line 544, in render_result_list
datagerry |   File "cmdb/framework/cmdb_render.py", line 138, in result
datagerry |   File "cmdb/framework/cmdb_render.py", line 145, in _generate_result
datagerry |   File "cmdb/framework/cmdb_render.py", line 160, in __generate_object_information
datagerry |   File "cmdb/user_management/managers/user_manager.py", line 82, in get
datagerry | cmdb.errors.manager.manager_errors.ManagerGetError: Error while GET: User with ID: 19 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 867, in full_dispatch_request
datagerry |   File "flask/app.py", line 852, in dispatch_request
datagerry |   File "cmdb/interface/blueprint.py", line 82, in _decorate
datagerry |   File "cmdb/interface/blueprint.py", line 175, in _decorate
datagerry |   File "cmdb/interface/route_utils.py", line 149, in get_request_user
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 242, in get_objects
datagerry |   File "flask/helpers.py", line 274, in abort
datagerry |   File "werkzeug/exceptions.py", line 861, in __call__
datagerry | werkzeug.exceptions.NotFound: 404 Not Found: Error while GET: User with ID: 19 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 1455, in wsgi_app
datagerry |   File "flask/app.py", line 869, in full_dispatch_request
datagerry |   File "flask_cors/extension.py", line 176, in wrapped_function
datagerry |   File "flask/app.py", line 752, in handle_user_exception
datagerry |   File "flask/app.py", line 727, in handle_http_exception
datagerry |   File "cmdb/interface/error_handlers.py", line 99, in page_not_found
datagerry |   File "cmdb/interface/error_handlers.py", line 64, in make_error
datagerry |   File "flask/json/__init__.py", line 170, in jsonify
datagerry |   File "flask/json/provider.py", line 215, in response
datagerry |   File "flask/json/provider.py", line 180, in dumps
datagerry |   File "json/__init__.py", line 234, in dumps
datagerry |   File "json/encoder.py", line 199, in encode
datagerry |   File "json/encoder.py", line 257, in iterencode
datagerry |   File "flask/json/provider.py", line 120, in _default
datagerry | TypeError: Object of type ManagerGetError is not JSON serializable
datagerry | [2024-06-13 12:58:12][ERROR   ] --- Exception on /objects/ [GET] (app.py)
datagerry | Traceback (most recent call last):
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 224, in get_objects
datagerry |   File "cmdb/framework/cmdb_render.py", line 544, in render_result_list
datagerry |   File "cmdb/framework/cmdb_render.py", line 138, in result
datagerry |   File "cmdb/framework/cmdb_render.py", line 145, in _generate_result
datagerry |   File "cmdb/framework/cmdb_render.py", line 160, in __generate_object_information
datagerry |   File "cmdb/user_management/managers/user_manager.py", line 82, in get
datagerry | cmdb.errors.manager.manager_errors.ManagerGetError: Error while GET: User with ID: 9 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 867, in full_dispatch_request
datagerry |   File "flask/app.py", line 852, in dispatch_request
datagerry |   File "cmdb/interface/blueprint.py", line 82, in _decorate
datagerry |   File "cmdb/interface/blueprint.py", line 175, in _decorate
datagerry |   File "cmdb/interface/route_utils.py", line 149, in get_request_user
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 242, in get_objects
datagerry |   File "flask/helpers.py", line 274, in abort
datagerry |   File "werkzeug/exceptions.py", line 861, in __call__
datagerry | werkzeug.exceptions.NotFound: 404 Not Found: Error while GET: User with ID: 9 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 1455, in wsgi_app
datagerry |   File "flask/app.py", line 869, in full_dispatch_request
datagerry |   File "flask_cors/extension.py", line 176, in wrapped_function
datagerry |   File "flask/app.py", line 752, in handle_user_exception
datagerry |   File "flask/app.py", line 727, in handle_http_exception
datagerry |   File "cmdb/interface/error_handlers.py", line 99, in page_not_found
datagerry |   File "cmdb/interface/error_handlers.py", line 64, in make_error
datagerry |   File "flask/json/__init__.py", line 170, in jsonify
datagerry |   File "flask/json/provider.py", line 215, in response
datagerry |   File "flask/json/provider.py", line 180, in dumps
datagerry |   File "json/__init__.py", line 234, in dumps
datagerry |   File "json/encoder.py", line 199, in encode
datagerry |   File "json/encoder.py", line 257, in iterencode
datagerry |   File "flask/json/provider.py", line 120, in _default
datagerry | TypeError: Object of type ManagerGetError is not JSON serializable
.
.
.
datagerry | [2024-06-13 13:01:42][ERROR   ] --- Exception on /objects/ [GET] (app.py)
datagerry | Traceback (most recent call last):
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 224, in get_objects
datagerry |   File "cmdb/framework/cmdb_render.py", line 544, in render_result_list
datagerry |   File "cmdb/framework/cmdb_render.py", line 138, in result
datagerry |   File "cmdb/framework/cmdb_render.py", line 145, in _generate_result
datagerry |   File "cmdb/framework/cmdb_render.py", line 166, in __generate_object_information
datagerry |   File "cmdb/user_management/managers/user_manager.py", line 82, in get
datagerry | cmdb.errors.manager.manager_errors.ManagerGetError: Error while GET: User with ID: 9 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 867, in full_dispatch_request
datagerry |   File "flask/app.py", line 852, in dispatch_request
datagerry |   File "cmdb/interface/blueprint.py", line 82, in _decorate
datagerry |   File "cmdb/interface/blueprint.py", line 175, in _decorate
datagerry |   File "cmdb/interface/route_utils.py", line 149, in get_request_user
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 242, in get_objects
datagerry |   File "flask/helpers.py", line 274, in abort
datagerry |   File "werkzeug/exceptions.py", line 861, in __call__
datagerry | werkzeug.exceptions.NotFound: 404 Not Found: Error while GET: User with ID: 9 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 1455, in wsgi_app
datagerry |   File "flask/app.py", line 869, in full_dispatch_request
datagerry |   File "flask_cors/extension.py", line 176, in wrapped_function
datagerry |   File "flask/app.py", line 752, in handle_user_exception
datagerry |   File "flask/app.py", line 727, in handle_http_exception
datagerry |   File "cmdb/interface/error_handlers.py", line 99, in page_not_found
datagerry |   File "cmdb/interface/error_handlers.py", line 64, in make_error
datagerry |   File "flask/json/__init__.py", line 170, in jsonify
datagerry |   File "flask/json/provider.py", line 215, in response
datagerry |   File "flask/json/provider.py", line 180, in dumps
datagerry |   File "json/__init__.py", line 234, in dumps
datagerry |   File "json/encoder.py", line 199, in encode
datagerry |   File "json/encoder.py", line 257, in iterencode
datagerry |   File "flask/json/provider.py", line 120, in _default
datagerry | TypeError: Object of type ManagerGetError is not JSON serializable
datagerry | [2024-06-13 13:01:42][ERROR   ] --- Exception on /objects/ [GET] (app.py)
datagerry | Traceback (most recent call last):
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 224, in get_objects
datagerry |   File "cmdb/framework/cmdb_render.py", line 544, in render_result_list
datagerry |   File "cmdb/framework/cmdb_render.py", line 138, in result
datagerry |   File "cmdb/framework/cmdb_render.py", line 145, in _generate_result
datagerry |   File "cmdb/framework/cmdb_render.py", line 166, in __generate_object_information
datagerry |   File "cmdb/user_management/managers/user_manager.py", line 82, in get
datagerry | cmdb.errors.manager.manager_errors.ManagerGetError: Error while GET: User with ID: 9 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 867, in full_dispatch_request
datagerry |   File "flask/app.py", line 852, in dispatch_request
datagerry |   File "cmdb/interface/blueprint.py", line 82, in _decorate
datagerry |   File "cmdb/interface/blueprint.py", line 175, in _decorate
datagerry |   File "cmdb/interface/route_utils.py", line 149, in get_request_user
datagerry |   File "cmdb/interface/rest_api/framework_routes/objects_routes.py", line 242, in get_objects
datagerry |   File "flask/helpers.py", line 274, in abort
datagerry |   File "werkzeug/exceptions.py", line 861, in __call__
datagerry | werkzeug.exceptions.NotFound: 404 Not Found: Error while GET: User with ID: 9 not found!
datagerry |
datagerry | During handling of the above exception, another exception occurred:
datagerry |
datagerry | Traceback (most recent call last):
datagerry |   File "flask/app.py", line 1455, in wsgi_app
datagerry |   File "flask/app.py", line 869, in full_dispatch_request
datagerry |   File "flask_cors/extension.py", line 176, in wrapped_function
datagerry |   File "flask/app.py", line 752, in handle_user_exception
datagerry |   File "flask/app.py", line 727, in handle_http_exception
datagerry |   File "cmdb/interface/error_handlers.py", line 99, in page_not_found
datagerry |   File "cmdb/interface/error_handlers.py", line 64, in make_error
datagerry |   File "flask/json/__init__.py", line 170, in jsonify
datagerry |   File "flask/json/provider.py", line 215, in response
datagerry |   File "flask/json/provider.py", line 180, in dumps
datagerry |   File "json/__init__.py", line 234, in dumps
datagerry |   File "json/encoder.py", line 199, in encode
datagerry |   File "json/encoder.py", line 257, in iterencode
datagerry |   File "flask/json/provider.py", line 120, in _default
datagerry | TypeError: Object of type ManagerGetError is not JSON serializable

Thanks for watching

with kind regards

Steffen Klein

Hi @sklein ,
thanks for this input. We will have a look at this. Since we are about to release version 2.2.0, the fix for your issue will most probably be part of version 2.3.0.

As a hotfix you can delete the references from the objects where the error occurs from the database. The deleted user IDs can be replaced by ID 1 (admin user).

BR Adnan