-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Currently, all fabrics are persisted in the KvBlobStore by first converting them to one large TLV list and then saving the bytes' representation of this list under a single key - fabrics.
The problems with that:
- (High Prio) - some
KvBlobStoreimplementations (notably, thesequential_mapone in downstreamrs-matter-embassy) have a hard limit on the size of the value being persisted. Forsequential_mapit is a bit less than 4K which is the NOR flash page size (or NOR flash erase size). Therefore, the current approach cannot even support > 2 fabrics, as they overflow the 4K NOR flash page; - (Mid Prio) - a relatively large KV Buffer is necessary for the persistence to work. Roughly 2x the size of all fabrics;
- (Low Prio) a change to fabric X is requiring the persistence of ALL fabrics currently.
Possible solutions:
- One option would be to retire the
sequential_mapstorage inrs-matter-embassyin favor of another one. Say -embassy kv; - Another option would be to change the persistence of the fabrics in such a way that they are persisted under separate keys.
Metadata
Metadata
Assignees
Labels
No labels