context = new RaftActorContextImpl(this.getSelf(),
this.getContext(), id, new ElectionTermImpl(delegatingPersistenceProvider, id, LOG),
-1, -1, peerAddresses,
- (configParams.isPresent() ? configParams.get(): new DefaultConfigParamsImpl()), LOG);
+ (configParams.isPresent() ? configParams.get(): new DefaultConfigParamsImpl()),
+ delegatingPersistenceProvider, LOG);
context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, delegatingPersistenceProvider, currentBehavior));
}
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Supplier;
import java.util.Map;
+import org.opendaylight.controller.cluster.DataPersistenceProvider;
import org.slf4j.Logger;
/**
SnapshotManager getSnapshotManager();
+ DataPersistenceProvider getPersistenceProvider();
+
boolean hasFollowers();
long getTotalMemory();
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Supplier;
import java.util.Map;
+import org.opendaylight.controller.cluster.DataPersistenceProvider;
import org.slf4j.Logger;
public class RaftActorContextImpl implements RaftActorContext {
// be passed to it in the constructor
private SnapshotManager snapshotManager;
+ private final DataPersistenceProvider persistenceProvider;
+
public RaftActorContextImpl(ActorRef actor, UntypedActorContext context, String id,
ElectionTerm termInformation, long commitIndex, long lastApplied, Map<String, String> peerAddresses,
- ConfigParams configParams, Logger logger) {
+ ConfigParams configParams, DataPersistenceProvider persistenceProvider, Logger logger) {
this.actor = actor;
this.context = context;
this.id = id;
this.lastApplied = lastApplied;
this.peerAddresses = peerAddresses;
this.configParams = configParams;
+ this.persistenceProvider = persistenceProvider;
this.LOG = logger;
}
public boolean hasFollowers() {
return getPeerAddresses().keySet().size() > 0;
}
+
+ @Override
+ public DataPersistenceProvider getPersistenceProvider() {
+ return persistenceProvider;
+ }
}
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
+import org.opendaylight.controller.cluster.DataPersistenceProvider;
+import org.opendaylight.controller.cluster.NonPersistentDataProvider;
import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
import org.opendaylight.controller.protobuff.messages.cluster.raft.AppendEntriesMessages;
import org.opendaylight.controller.protobuff.messages.cluster.raft.test.MockPayloadMessages;
private ConfigParams configParams;
private boolean snapshotCaptureInitiated;
private SnapshotManager snapshotManager;
+ private DataPersistenceProvider persistenceProvider = new NonPersistentDataProvider();
public MockRaftActorContext(){
electionTerm = new ElectionTerm() {
return getPeerAddresses().keySet().size() > 0;
}
+ @Override
+ public DataPersistenceProvider getPersistenceProvider() {
+ return persistenceProvider;
+ }
+
+ public void setPersistenceProvider(DataPersistenceProvider persistenceProvider) {
+ this.persistenceProvider = persistenceProvider;
+ }
+
public static class SimpleReplicatedLog extends AbstractReplicatedLogImpl {
@Override public void appendAndPersist(
ReplicatedLogEntry replicatedLogEntry) {
MockitoAnnotations.initMocks(this);
context = new RaftActorContextImpl(null, null, "test", new ElectionTermImpl(mockPersistence, "test", LOG),
- -1, -1, Collections.<String,String>emptyMap(), configParams, LOG);
+ -1, -1, Collections.<String,String>emptyMap(), configParams, mockPersistence, LOG);
support = new RaftActorRecoverySupport(mockPersistence, context , mockBehavior, mockCohort);
context = new RaftActorContextImpl(mockRaftActorRef, null, "test",
new ElectionTermImpl(mockPersistence, "test", LOG),
- -1, -1, Collections.<String,String>emptyMap(), configParams, LOG) {
+ -1, -1, Collections.<String,String>emptyMap(), configParams, mockPersistence, LOG) {
@Override
public SnapshotManager getSnapshotManager() {
return mockSnapshotManager;
import org.opendaylight.controller.cluster.DataPersistenceProvider;
import org.opendaylight.controller.cluster.raft.MockRaftActorContext.MockPayload;
import org.opendaylight.controller.cluster.raft.MockRaftActorContext.MockReplicatedLogEntry;
-import org.opendaylight.controller.cluster.raft.RaftActor.DeleteEntries;
+import org.opendaylight.controller.cluster.raft.base.messages.DeleteEntries;
import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
context = new RaftActorContextImpl(null, null, "test",
new ElectionTermImpl(mockPersistence, "test", LOG),
- -1, -1, Collections.<String,String>emptyMap(), configParams, LOG) {
+ -1, -1, Collections.<String,String>emptyMap(), configParams, mockPersistence, LOG) {
@Override
public SnapshotManager getSnapshotManager() {
return mockSnapshotManager;