Route {Journal,Snapshot}Protocol messages to DataPersistenceProvider 97/100597/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 24 Apr 2022 11:17:15 +0000 (13:17 +0200)
committerRobert Varga <nite@hq.sk>
Sun, 24 Apr 2022 12:17:49 +0000 (12:17 +0000)
commit3b51c7297187f980bfbe5408a926bb3c5498847b
tree63eb07efd5b8dc6810827a6ba0f7190bf4db00f3
parent70be6969fcbd7ba40bd4076b7af20427e6c4489f
Route {Journal,Snapshot}Protocol messages to DataPersistenceProvider

The way we wire our messages ends up being not exactly nice, as the
baseline RaftActor is not cognizant of all persistence operations. This
means it cannot correctly ignore responses to deletion of journal and
snapshot entries -- and hence we get dead letters logged.

Route JournalProtocol and SnapshotProtocol messages to
DataPersistenceProvider, which can then handle them and correctly
tell us whether to log them or not.

JIRA: CONTROLLER-2042
Change-Id: I47b8c3ae67d0a0ea0aad9f0a64e1bb8dc11400fc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit d6d516aa953924121c3cf2a5bf9fd992b9c2b326)
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DataPersistenceProvider.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DelegatingPersistentDataProvider.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/NonPersistentDataProvider.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/PersistentDataProvider.java