Skip to content

System CDC integration #354

@lukashornych

Description

@lukashornych

evitaDB now provides CDC mechanism which provides info about changed catalog, their schemas, and so on.

We want to integrate this into evitaLab to refresh cached data (catalogs, catalog schema, entity schemas).

  1. we need to add support for register*Capture methods to EvitaClient from gRPC API
  2. create new DataCacheRefresher class that will be initializes after EvitaClient in DatabaseDriverModuleRegistrar.register and handle that the evitaLab has always active CDC stream of new system captures and will invalidate appropriate caches for the incoming captures.
  • the refreshes cannot crash evitaLab if stream cannot be created, it should show one warning notification and try again later
  • if the stream is closed somehow, it should try to open new stream (but there must be exactly one opened stream - no more, so that we don't waste resources)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions