Bug 54993 - An update of mapped UDM properties does not affect results of general searches
An update of mapped UDM properties does not affect results of general searches
Status: NEW
Product: UCS@school
Classification: Unclassified
Component: HTTP-API (Kelvin)
UCS@school 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: UCS@school maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-07-15 10:41 CEST by Jan-Luca Kiok
Modified: 2023-03-29 13:04 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 4: Will affect most installed domains
How will those affected feel about the bug?: 1: Nuisance – not a big deal but noticeable
User Pain: 0.069
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan-Luca Kiok univentionstaff 2022-07-15 10:41:54 CEST
Disclaimer: I could only reproduce this for schools so far but I am unsure if this affects other resources too.

Take an env where you have extended attributes that are mapped, configured and already available via Kelvin.
If you update the value of one of these the new value can be gathered by GETing the individual resource, but a GET to all still has the individual resource at it's old state.

Interestingly the problem does not occur for a parametrized general search (request with ?name=testschool) or normal attributes like the displayname.


To reproduce:

GET to https://<FQDN>/ucsschool/kelvin/v1/schools/testschool

{
...
  "udm_properties": {
    "testproperty": null
  }
}

GET to https://<FQDN>/ucsschool/kelvin/v1/schools/

[
  {
    "url": "https://<FQDN>/ucsschool/kelvin/v1/schools/testschool",
    ...
    "udm_properties": {
      "testproperty": null
    }
  }
]


After the update:

GET to https://<FQDN>/ucsschool/kelvin/v1/schools/testschool

{
...
  "udm_properties": {
    "testproperty": "new-value"
  }
}

GET to https://<FQDN>/ucsschool/kelvin/v1/schools/

[
  {
    "url": "https://<FQDN>/ucsschool/kelvin/v1/schools/testschool",
    ...
    "udm_properties": {
      "testproperty": null
    }
  }
]


As a workaround it was sufficient to restart the Kelvin API, afterwards the new value could be retrieved from the general search too.

In my opinion the best would be if the updated value is available instantly for both but if this is unfeasible it would be good if both requests lead to equal responses.
Comment 1 Robert Heyer univentionstaff 2023-03-29 10:39:45 CEST
Happened here (customer 10568) in KW13 2023 > https://univention.plan.io/issues/43546