Take DBAAS multi-channel publishing Redis modules into use 44/5744/3
authorTimo Tietavainen <timo.tietavainen@nokia.com>
Tue, 9 Mar 2021 12:37:14 +0000 (14:37 +0200)
committerTimo Tietavainen <timo.tietavainen@nokia.com>
Thu, 11 Mar 2021 08:30:20 +0000 (10:30 +0200)
commit6589d4db658073c411c1e9e419e7770d45ed0a66
treee0e679b280312cd0d34e6e7bc3831ebd1f746c80
parent831ae080538a447fd81172a996e43188752a87e6
Take DBAAS multi-channel publishing Redis modules into use

Following SDL APIs are defined so that multiple channel-event pairs can be
given as function argument but actual SDL implementation utilized such a DBAAS
(Redis) module what expect to get only one channel-event pair. Fix the
implementation of these SDL APIs to use the correct DBAAS module what support
multiple channel-event pairs:
* set_if_and_publish()
* set_if_not_exists_and_publish()
* remove_if_and_publish()

Please note that in runtime environment DBAAS service needs to run on DBAAS
image version 0.4.0 or newer. Older images do not have multiple channel-event
pairs support as a Redis module.

Updated also start_event_listener() and handle_events() description to
emphasize that channel-event subscription must be done before calling those
functions, otherwise open-source Redis client application could throw an
exception due to not having any subscription when it receives some event, for
example a ping event in case of the DBAAS Sentinel deployment.

Issue-ID: RIC-758

Signed-off-by: Timo Tietavainen <timo.tietavainen@nokia.com>
Change-Id: I75d4e3316d7387b7a1a735fe3eb357de7ef794bb
docs/release-notes.rst
ricsdl-package/README.md
ricsdl-package/examples/notify.py
ricsdl-package/examples/sync.py [changed mode: 0644->0755]
ricsdl-package/ricsdl/__init__.py
ricsdl-package/ricsdl/backend/redis.py
ricsdl-package/ricsdl/syncstorage_abc.py
ricsdl-package/tests/backend/test_redis.py