eclipse-ditto / ditto

Eclipse Ditto™: Digital Twin framework of Eclipse IoT - main repository

Home Page:https://eclipse.dev/ditto/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ensure the consistency of signal enrichment for connections

kyberpunk opened this issue · comments

Hello. I have a specific case where I use following connection topic _/_/things/twin/events?extraFields=features/{{feature:id}},thingId&filter=like(resource:path,'/features/SoftwareUpdate*') to consume change notifications by stateless service, which are enriched for other contextual data from the same feature even in case of partial feature modification. Currently it happens in case of concurrent modify commands, that extra field contains different values than actual changes in value field (see screenshot).

Since ditto supports retrieving historical revisions, the proposal is to provide deterministic and strong consistency by not looking up the current state, but the state at the revision number of the processed event. However, in some other use cases it may be more efficient to keep the caching implementation.

Thank you.

ditto-mismatch-between-value-and-extra-status_ditto-twin-software-update-topic

I try to take a look soon.