OpenAssetIO / OpenAssetIO

An open-source interoperability standard for tools and content management systems used in media production.
Apache License 2.0
282 stars 31 forks source link

Persistent cache mechanism #1203

Open foundrytom opened 9 months ago

foundrytom commented 9 months ago

Capturing discussion:

foundrytom commented 9 months ago

Ask people for input - broad assumption is that the distributed serialized on disk cache is a read-only cache to prevent the explosion that is networked concurrent writes to the same cache.

Consider all possible cache implementations (eg Redis, memcached) when deciding what goes into the cache interface.

foundrytom commented 9 months ago

The manager is general in charge of which cache is used as it knows about the pipeline (or exposes that configuration)

foundrytom commented 9 months ago

Consider making this in the same ilk as the GRPC prototype, so its just another wrapper ManagerInterface + factory so the core API doesn't know about it.

elliotcmorris commented 9 months ago

We could consider this an "TraitsDataCache", where the key is just entityRef + context, and if the traitsdata contains the traits in question, it's a hit, otherwise a miss.

elliotcmorris commented 9 months ago

We may need tests for distributed generation in the publishing workflow for this, since the context would be distributed and intermediate write access resolves will interact with the cache.

elliotcmorris commented 4 months ago

It's painful, but categorising this as non essential as we could release without it, and it's a big thing. This dosen't mean it's not still on the 1.0.0 roadmap.