Search in sources :

Example 1 with SnapshotExecutorImpl

use of com.alipay.sofa.jraft.storage.snapshot.SnapshotExecutorImpl in project sofa-jraft by sofastack.

the class SnapshotExecutorTest method setup.

@Override
@Before
public void setup() throws Exception {
    super.setup();
    this.timerManager = new TimerManager(5);
    this.raftOptions = new RaftOptions();
    this.writer = new LocalSnapshotWriter(this.path, this.snapshotStorage, this.raftOptions);
    this.reader = new LocalSnapshotReader(this.snapshotStorage, null, new Endpoint("localhost", 8081), this.raftOptions, this.path);
    Mockito.when(this.snapshotStorage.open()).thenReturn(this.reader);
    Mockito.when(this.snapshotStorage.create(true)).thenReturn(this.writer);
    this.table = new LocalSnapshotMetaTable(this.raftOptions);
    this.table.addFile("testFile", LocalFileMetaOutter.LocalFileMeta.newBuilder().setChecksum("test").build());
    this.table.setMeta(RaftOutter.SnapshotMeta.newBuilder().setLastIncludedIndex(1).setLastIncludedTerm(1).build());
    this.uri = "remote://" + this.hostPort + "/" + this.readerId;
    this.copyOpts = new CopyOptions();
    Mockito.when(this.node.getRaftOptions()).thenReturn(new RaftOptions());
    Mockito.when(this.node.getOptions()).thenReturn(new NodeOptions());
    Mockito.when(this.node.getRpcService()).thenReturn(this.raftClientService);
    Mockito.when(this.node.getTimerManager()).thenReturn(this.timerManager);
    Mockito.when(this.node.getServiceFactory()).thenReturn(DefaultJRaftServiceFactory.newInstance());
    this.executor = new SnapshotExecutorImpl();
    final SnapshotExecutorOptions opts = new SnapshotExecutorOptions();
    opts.setFsmCaller(this.fSMCaller);
    opts.setInitTerm(0);
    opts.setNode(this.node);
    opts.setLogManager(this.logManager);
    opts.setUri(this.path);
    this.addr = new Endpoint("localhost", 8081);
    opts.setAddr(this.addr);
    assertTrue(this.executor.init(opts));
}
Also used : RaftOptions(com.alipay.sofa.jraft.option.RaftOptions) Endpoint(com.alipay.sofa.jraft.util.Endpoint) LocalSnapshotMetaTable(com.alipay.sofa.jraft.storage.snapshot.local.LocalSnapshotMetaTable) LocalSnapshotReader(com.alipay.sofa.jraft.storage.snapshot.local.LocalSnapshotReader) SnapshotExecutorImpl(com.alipay.sofa.jraft.storage.snapshot.SnapshotExecutorImpl) CopyOptions(com.alipay.sofa.jraft.option.CopyOptions) NodeOptions(com.alipay.sofa.jraft.option.NodeOptions) TimerManager(com.alipay.sofa.jraft.core.TimerManager) LocalSnapshotWriter(com.alipay.sofa.jraft.storage.snapshot.local.LocalSnapshotWriter) SnapshotExecutorOptions(com.alipay.sofa.jraft.option.SnapshotExecutorOptions) Before(org.junit.Before)

Example 2 with SnapshotExecutorImpl

use of com.alipay.sofa.jraft.storage.snapshot.SnapshotExecutorImpl in project sofa-jraft by sofastack.

the class NodeImpl method initSnapshotStorage.

private boolean initSnapshotStorage() {
    if (StringUtils.isEmpty(this.options.getSnapshotUri())) {
        LOG.warn("Do not set snapshot uri, ignore initSnapshotStorage.");
        return true;
    }
    this.snapshotExecutor = new SnapshotExecutorImpl();
    final SnapshotExecutorOptions opts = new SnapshotExecutorOptions();
    opts.setUri(this.options.getSnapshotUri());
    opts.setFsmCaller(this.fsmCaller);
    opts.setNode(this);
    opts.setLogManager(this.logManager);
    opts.setAddr(this.serverId != null ? this.serverId.getEndpoint() : null);
    opts.setInitTerm(this.currTerm);
    opts.setFilterBeforeCopyRemote(this.options.isFilterBeforeCopyRemote());
    // get snapshot throttle
    opts.setSnapshotThrottle(this.options.getSnapshotThrottle());
    return this.snapshotExecutor.init(opts);
}
Also used : SnapshotExecutorImpl(com.alipay.sofa.jraft.storage.snapshot.SnapshotExecutorImpl) SnapshotExecutorOptions(com.alipay.sofa.jraft.option.SnapshotExecutorOptions)

Aggregations

SnapshotExecutorOptions (com.alipay.sofa.jraft.option.SnapshotExecutorOptions)2 SnapshotExecutorImpl (com.alipay.sofa.jraft.storage.snapshot.SnapshotExecutorImpl)2 TimerManager (com.alipay.sofa.jraft.core.TimerManager)1 CopyOptions (com.alipay.sofa.jraft.option.CopyOptions)1 NodeOptions (com.alipay.sofa.jraft.option.NodeOptions)1 RaftOptions (com.alipay.sofa.jraft.option.RaftOptions)1 LocalSnapshotMetaTable (com.alipay.sofa.jraft.storage.snapshot.local.LocalSnapshotMetaTable)1 LocalSnapshotReader (com.alipay.sofa.jraft.storage.snapshot.local.LocalSnapshotReader)1 LocalSnapshotWriter (com.alipay.sofa.jraft.storage.snapshot.local.LocalSnapshotWriter)1 Endpoint (com.alipay.sofa.jraft.util.Endpoint)1 Before (org.junit.Before)1