Skip to content

Update operation enhancement #2782

@piotrmiskiewicz

Description

@piotrmiskiewicz

After investigation #2565 we concluded that update operation should be improved in order to defensively approach db potential bottlenecks.

To implement

  • If update changes nothing do not do it. Return 200 or error when RuntimeCR is in erorr. Remember that we should not somehow that there was an update. Some counter is a proposition
    • we need to define what we persist, log, metrisc when we return the status and we didn't run operation
    • to keep current behaviour of KEB when users update instance, we need to check what status code should be returned to the user. If input params are the same it doesnt mean we need to always return 200. AS Jarek suggested, maybe we do not need to run new operation in such scenario, but jsty check Runtime Status.
    • New KEB metrics about number operations and number of calls on update per Runtime. We should clearly see instances that have too many operartions, or after this improvement deployment we should see high counters. Create alerts that given Runtime has big number of updates.
  • do not store in main db in table operations all update operations. It should be limited to the last 100, the rest can be archived in e.g. operations_archive table for audit or critical failures._ PK comment: we can consider to work on that in the future

Side effects:

  • kcp rt should work faster because we will stop getting instance with 6000+ operations. There will be less operations to display.
  • table operations will grow linearly in predictable way depending on how many instances there are.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions