Odoo v16: itgenodo047: Odoo Server Error: link.tracker (200) (builtins.KeyError)

Sinds afgelopen vrijdag (8-12-2023) mislukken alle queries richting Odoo. Ook een eenvoudige select * from Odoo.account.account geeft deze melding.

In het Odoo platform / administratie zijn voor zover bekend geen wijzigingen geweest. Wat kunnen wij doen om dit te verhelpen?

Heeft een (minor) upgrade plaatsgevonden van Odoo?

Uit de logging blijkt dat de onderliggende foutmelding deze is:

code: 200
message: Odoo Server Error

name: builtins.KeyError
message: link.tracker
arguments: ["link.tracker"]

debug:

Traceback (most recent call last):
  File \"/home/odoo/src/odoo/odoo/api.py\", line 989, in get
    cache_value = field_cache[record._ids[0]]
KeyError: 459

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 1160, in __get__
    value = env.cache.get(record, self)
  File \"/home/odoo/src/odoo/odoo/api.py\", line 996, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: 'ir.model(459,).inherited_model_ids'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File \"/home/odoo/src/odoo/odoo/http.py\", line 1589, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 133, in retrying
    result = func()
  File \"/home/odoo/src/odoo/odoo/http.py\", line 1616, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File \"/home/odoo/src/odoo/odoo/http.py\", line 1820, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File \"/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py\", line 154, in _dispatch
    result = endpoint(**request.params)
  File \"/home/odoo/src/odoo/odoo/http.py\", line 697, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File \"/home/odoo/src/odoo/odoo/addons/base/controllers/rpc.py\", line 158, in jsonrpc
    return dispatch_rpc(service, method, args)
  File \"/home/odoo/src/odoo/odoo/http.py\", line 366, in dispatch_rpc
    return dispatch(method, params)
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 37, in dispatch
    res = execute_kw(db, uid, *params[3:])
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 59, in execute_kw
    return execute(db, uid, obj, method, *args, **kw or {})
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 65, in execute
    res = execute_cr(cr, uid, obj, method, *args, **kw)
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 50, in execute_cr
    result = retrying(partial(odoo.api.call_kw, recs, method, args, kw), env)
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 133, in retrying
    result = func()
  File \"/home/odoo/src/odoo/odoo/api.py\", line 462, in call_kw
    result = _call_kw_model(method, model, args, kwargs)
  File \"/home/odoo/src/odoo/odoo/api.py\", line 435, in _call_kw_model
    result = method(recs, *args, **kwargs)
  File \"/home/odoo/src/odoo/odoo/models.py\", line 5021, in search_read
    result = records.read(fields, **read_kwargs)
  File \"/home/odoo/src/odoo/odoo/models.py\", line 2989, in read
    return self._read_format(fnames=fields, load=load)
  File \"/home/odoo/src/odoo/odoo/models.py\", line 3168, in _read_format
    vals[name] = convert(record[name], record, use_name_get)
  File \"/home/odoo/src/odoo/odoo/models.py\", line 5904, in __getitem__
    return self._fields[key].__get__(self, type(self))
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 2801, in __get__
    return super().__get__(records, owner)
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 1209, in __get__
    self.compute_value(recs)
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 1391, in compute_value
    records._compute_field_value(self)
  File \"/home/odoo/src/odoo/odoo/models.py\", line 4225, in _compute_field_value
    fields.determine(field.compute, self)
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 97, in determine
    return needle(*args)
  File \"/home/odoo/src/odoo/odoo/addons/base/models/ir_model.py\", line 207, in _inherited_models
    parent_names = list(self.env[model.model]._inherits)
  File \"/home/odoo/src/odoo/odoo/api.py\", line 542, in __getitem__
    return self.registry[model_name](self, (), ())
  File \"/home/odoo/src/odoo/odoo/modules/registry.py\", line 190, in __getitem__
    return self.models[model_name]
KeyError: 'link.tracker'

Welke versie draait momenteel van Odoo?

Gaat het om een local, SaaS of Odoo.sh versie?

De Invantive Cloud is sinds enkele weken bevroren in afwachting van de nieuwe release. Deze foutmelding lijkt daarom omdat hij nu spontaan begint op te treden te relateren naar een Odoo-upgrade. De Odoo API’s worden helaas vaak niet goed of niet getest blijkt.

Invantive zelft draait op Odoo SaaS release saas-16.4+ee. Deze geeft momenteel geen foutmelding op bijvoorbeeld genoemde query:

Het betreft de Odoo 16.0+e (Enterprise Editie) (Odoo.sh). De versie van 2 weken geleden is teruggezet om dat uit te sluiten (nu 2023.1127), maar het probleem bestaat nog steeds helaas.

Odoo plaatst regelmatig minor releases zonder interactie of kennisgeving. Mogelijk dat dit de oorzaak is.

Is het mogelijk om een duplicaat te maken van de database en die te upgraden naar 16.4+e, en dan nogmaals te proberen de data te benaderen?

We kregen zojuist bericht van de Odoo-consultant dat het probleem gevonden is. De ‘link tracker’ module was (spontaan?) geactiveerd, maar de module was niet geïnstalleerd. Dat leverde het probleem op. Installatie van de ‘link tracker’ module lost het probleem op.

Het blijft onduidelijk hoe dit heeft kunnen ontstaan, maar de koppeling met PowerBI werkt in ieder geval weer. Dank voor de assistentie.

Fijn dat de oorzaak boven water is gekomen!

Ja, de metadata van Odoo is erg vervlochten en dat maakt het ook krachtig, maar niet altijd even duidelijk waar de oorzaak zit.

Dit topic is 7 dagen na het laatste antwoord automatisch gesloten. Nieuwe antwoorden zijn niet meer toegestaan.