Sergey Vasilyev
Sergey Vasilyev
Hello. Thanks for reporting this. It might be an issue with the documentation and phrasing. Can you please point to the exact locations that made you think that on-field is...
> `new=x, old!=-x` That is the intention behind the field change filters: ```python @kopf.on.update(..., field='...', new='x') # absent "old" is implied to be "anything but 'x'" def fn(**_): ... ```...
PS: Also mind that when the annotation is removed, it will be a change from `old="x"` to `new=None`. It can also be filtered by `kopf.PRESET`/`kopf.ABSENT` markers accordingly (e.g. `@kopf.on.update(..., old=PRESENT,...
I’ve now got my own doubt on the old/new values. I remember the exact place where their values are reduced down to the field’s values for the handler itself (if...
@cjbaar Can you please tell me the scale? I.e. the number of ConfigMaps & Services involved. I can try to reproduce this locally (unlike pods, these two do not require...
@cjbaar By the way, did you consider solving this problem with [in-memory indexing](https://kopf.readthedocs.io/en/stable/indexing/)? I.e., having an index of Services, grouped by a key that defines how they belong to ConfigMaps...
> This is done by patching the annotation of each relevant Service (with some filters) to `update` Can you also please hint what does change the annotation to something different...
Hm. On-creation is triggered when there is no annotation for "last-handled-configuration" (or whatever it is named). Is the issue happening only to the new services? Or to the existing ones...
I can probably give you a hint to think about. Kopf accumulates events within a short time window (0.1s) and handles only the last one in the batch. It currently...
> So every patch seems to trigger `on.create()`. Okay, this is unusual. May I ask you to show how exactly you patch the service and its annotations? Is it a...