When mediator_mode is set to true in the Redis Events Plugin and no relay is deployed in front of the agent acting as a mediator messages in the outbound queue are not persisted in a queue on Redis, but rather in-memory - causing loss of data when the pod/service is terminated or replaced.
This is not documented in the plugin readme (probably because it is not the way things are intended to work), and can cause operational issues when relying on an ACA-Py mediator deployed in this mode since messages may be lost.
ACA-Py itself implements the outbound DeliveryQueue as an in-memory data structure, so it may be necessary to implement changes both to this plugin and ACA-Py core to support real persistence for outbound messages.
When
mediator_modeis set totruein the Redis Events Plugin and no relay is deployed in front of the agent acting as a mediator messages in the outbound queue are not persisted in a queue on Redis, but rather in-memory - causing loss of data when the pod/service is terminated or replaced.This is not documented in the plugin readme (probably because it is not the way things are intended to work), and can cause operational issues when relying on an ACA-Py mediator deployed in this mode since messages may be lost.
ACA-Py itself implements the outbound
DeliveryQueueas an in-memory data structure, so it may be necessary to implement changes both to this plugin and ACA-Py core to support real persistence for outbound messages.