Instead of passing the SchemaContext explictly, make
ShardRecoveryCoordinator understand that it can obtain
the SchemaContext from ShardDataTree.
Change-Id: Id5ed521a96e8a741ad7da6199ba117b99a8f78e4
Signed-off-by: Robert Varga <rovarga@cisco.com>
@Override
@Nonnull
protected RaftActorRecoveryCohort getRaftActorRecoveryCohort() {
@Override
@Nonnull
protected RaftActorRecoveryCohort getRaftActorRecoveryCohort() {
- return new ShardRecoveryCoordinator(store, store.getSchemaContext(),
- restoreFromSnapshot != null ? restoreFromSnapshot.getSnapshot() : null, persistenceId(), LOG);
+ return new ShardRecoveryCoordinator(store,
+ restoreFromSnapshot != null ? restoreFromSnapshot.getSnapshot() : null, persistenceId(), LOG);
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidates;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidates;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.slf4j.Logger;
/**
import org.slf4j.Logger;
/**
private final ShardDataTree store;
private final String shardName;
private final Logger log;
private final ShardDataTree store;
private final String shardName;
private final Logger log;
- private final SchemaContext schemaContext;
private PruningDataTreeModification transaction;
private int size;
private final byte[] restoreFromSnapshot;
private PruningDataTreeModification transaction;
private int size;
private final byte[] restoreFromSnapshot;
- ShardRecoveryCoordinator(ShardDataTree store, SchemaContext schemaContext, byte[] restoreFromSnapshot,
- String shardName, Logger log) {
+ ShardRecoveryCoordinator(ShardDataTree store, byte[] restoreFromSnapshot, String shardName, Logger log) {
this.store = Preconditions.checkNotNull(store);
this.restoreFromSnapshot = restoreFromSnapshot;
this.store = Preconditions.checkNotNull(store);
this.restoreFromSnapshot = restoreFromSnapshot;
- this.shardName = shardName;
- this.log = log;
- this.schemaContext = schemaContext;
+ this.shardName = Preconditions.checkNotNull(shardName);
+ this.log = Preconditions.checkNotNull(log);
}
@Override
public void startLogRecoveryBatch(int maxBatchSize) {
log.debug("{}: starting log recovery batch with max size {}", shardName, maxBatchSize);
}
@Override
public void startLogRecoveryBatch(int maxBatchSize) {
log.debug("{}: starting log recovery batch with max size {}", shardName, maxBatchSize);
- transaction = new PruningDataTreeModification(store.newModification(), store.getDataTree(), schemaContext);
+ transaction = new PruningDataTreeModification(store.newModification(), store.getDataTree(),
+ store.getSchemaContext());
final NormalizedNode<?, ?> node = SerializationUtils.deserializeNormalizedNode(snapshotBytes);
final PruningDataTreeModification tx = new PruningDataTreeModification(store.newModification(),
final NormalizedNode<?, ?> node = SerializationUtils.deserializeNormalizedNode(snapshotBytes);
final PruningDataTreeModification tx = new PruningDataTreeModification(store.newModification(),
- store.getDataTree(), schemaContext);
+ store.getDataTree(), store.getSchemaContext());
tx.write(YangInstanceIdentifier.EMPTY, node);
try {
commitTransaction(tx);
tx.write(YangInstanceIdentifier.EMPTY, node);
try {
commitTransaction(tx);
@Test
public void testAppendRecoveredLogEntryDataTreeCandidatePayload(){
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
@Test
public void testAppendRecoveredLogEntryDataTreeCandidatePayload(){
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
- peopleSchemaContext, null, "foobar", LoggerFactory.getLogger("foo"));
+ null, "foobar", LoggerFactory.getLogger("foo"));
coordinator.startLogRecoveryBatch(10);
try {
coordinator.appendRecoveredLogEntry(DataTreeCandidatePayload.create(createCar()));
coordinator.startLogRecoveryBatch(10);
try {
coordinator.appendRecoveredLogEntry(DataTreeCandidatePayload.create(createCar()));
@Test
public void testAppendRecoveredLogEntryCommitTransactionPayload() throws IOException {
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
@Test
public void testAppendRecoveredLogEntryCommitTransactionPayload() throws IOException {
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
- peopleSchemaContext, null, "foobar", LoggerFactory.getLogger("foo"));
+ null, "foobar", LoggerFactory.getLogger("foo"));
coordinator.startLogRecoveryBatch(10);
try {
coordinator.appendRecoveredLogEntry(CommitTransactionPayload.create(nextTransactionId(), createCar()));
coordinator.startLogRecoveryBatch(10);
try {
coordinator.appendRecoveredLogEntry(CommitTransactionPayload.create(nextTransactionId(), createCar()));
@Test
public void testApplyRecoverySnapshot(){
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
@Test
public void testApplyRecoverySnapshot(){
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
- peopleSchemaContext, null, "foobar", LoggerFactory.getLogger("foo"));
+ null, "foobar", LoggerFactory.getLogger("foo"));
coordinator.startLogRecoveryBatch(10);
coordinator.applyRecoverySnapshot(createSnapshot());
coordinator.startLogRecoveryBatch(10);
coordinator.applyRecoverySnapshot(createSnapshot());
@Test
public void testApplyCurrentLogRecoveryBatch(){
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
@Test
public void testApplyCurrentLogRecoveryBatch(){
final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree,
- peopleSchemaContext, null, "foobar", LoggerFactory.getLogger("foo"));
+ null, "foobar", LoggerFactory.getLogger("foo"));
coordinator.startLogRecoveryBatch(10);
try {
coordinator.startLogRecoveryBatch(10);
try {