Exemple #1
0
        private SegmentedRaftLog CreateRaftLog(long rotateAtSize)
        {
            LogProvider            logProvider     = Instance;
            CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory(raft_log_pruning_strategy.DefaultValue, logProvider)).newInstance();

            return(new SegmentedRaftLog(_fileSystemRule.get(), _testDirectory.directory(), rotateAtSize, new DummyRaftableContentSerializer(), logProvider, 0, Clocks.fakeClock(), new OnDemandJobScheduler(), pruningStrategy));
        }
Exemple #2
0
        public override SegmentedRaftLog CreateRaftLog(FileSystemAbstraction fsa, File dir)
        {
            long                   rotateAtSize    = ByteUnit.mebiBytes(8);
            LogProvider            logProvider     = Instance;
            int                    readerPoolSize  = 8;
            CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory(raft_log_pruning_strategy.DefaultValue, logProvider)).newInstance();

            return(new SegmentedRaftLog(fsa, dir, rotateAtSize, new DummyRaftableContentSerializer(), logProvider, readerPoolSize, Clocks.fakeClock(), new OnDemandJobScheduler(), pruningStrategy));
        }
Exemple #3
0
        private SegmentedRaftLog CreateRaftLog(long rotateAtSize)
        {
            File directory = new File(RAFT_LOG_DIRECTORY_NAME);

            _logDirectory = Dir.directory(directory.Name);

            LogProvider            logProvider     = Instance;
            CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory("100 entries", logProvider)).NewInstance();

            return(new SegmentedRaftLog(FsRule.get(), _logDirectory, rotateAtSize, CoreReplicatedContentMarshal.marshaller(), logProvider, 8, Clocks.fakeClock(), new OnDemandJobScheduler(), pruningStrategy));
        }
Exemple #4
0
        public override RaftLog CreateRaftLog()
        {
            File directory = new File(RAFT_LOG_DIRECTORY_NAME);
            FileSystemAbstraction fileSystem = _fsRule.get();

            fileSystem.Mkdir(directory);

            LogProvider            logProvider     = Instance;
            CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory("1 entries", logProvider)).NewInstance();

            return(_life.add(new SegmentedRaftLog(fileSystem, directory, 1024, new DummyRaftableContentSerializer(), logProvider, 8, Clocks.fakeClock(), new OnDemandJobScheduler(), pruningStrategy)));
        }
Exemple #5
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private org.neo4j.causalclustering.core.consensus.log.RaftLog createRaftLog() throws Exception
        private RaftLog CreateRaftLog()
        {
            File directory = new File(RAFT_LOG_DIRECTORY_NAME);
            FileSystemAbstraction fileSystem = new EphemeralFileSystemAbstraction();

            fileSystem.Mkdir(directory);

            LogProvider            logProvider     = Instance;
            CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory("1 entries", logProvider)).NewInstance();
            SegmentedRaftLog       newRaftLog      = new SegmentedRaftLog(fileSystem, directory, 1, new DummyRaftableContentSerializer(), logProvider, 8, Clocks.fakeClock(), new OnDemandJobScheduler(), pruningStrategy);

            newRaftLog.Start();
            return(newRaftLog);
        }
Exemple #6
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: protected org.neo4j.causalclustering.core.consensus.log.RaftLog createRaftLog() throws Throwable
        protected internal override RaftLog CreateRaftLog()
        {
            FileSystemAbstraction fsa = FsRule.get();

            File directory = new File(RAFT_LOG_DIRECTORY_NAME);

            fsa.Mkdir(directory);

            long rotateAtSizeBytes = 128;
            int  readerPoolSize    = 8;

            LogProvider            logProvider     = Instance;
            CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory(raft_log_pruning_strategy.DefaultValue, logProvider)).newInstance();
            SegmentedRaftLog       newRaftLog      = new SegmentedRaftLog(fsa, directory, rotateAtSizeBytes, new DummyRaftableContentSerializer(), logProvider, readerPoolSize, Clocks.systemClock(), new OnDemandJobScheduler(), pruningStrategy);

            newRaftLog.Init();
            newRaftLog.Start();

            return(newRaftLog);
        }
Exemple #7
0
        private SegmentedRaftLog CreateRaftLog(long rotateAtSize, string pruneStrategy)
        {
            if (_fileSystem == null)
            {
                _fileSystem = new EphemeralFileSystemAbstraction();
            }

            File directory = new File(RAFT_LOG_DIRECTORY_NAME);

            _fileSystem.mkdir(directory);

            LogProvider            logProvider     = Instance;
            CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory(pruneStrategy, logProvider)).NewInstance();
            SegmentedRaftLog       newRaftLog      = new SegmentedRaftLog(_fileSystem, directory, rotateAtSize, new DummyRaftableContentSerializer(), logProvider, 8, Clocks.systemClock(), new OnDemandJobScheduler(), pruningStrategy);

            _life.add(newRaftLog);
            _life.init();
            _life.start();

            return(newRaftLog);
        }
Exemple #8
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public static void main(String[] args) throws java.io.IOException
        public static void Main(string[] args)
        {
            Args arg = Args.parse(args);

            string from = arg.Get("from");

            Console.WriteLine("From is " + from);
            string to = arg.Get("to");

            Console.WriteLine("to is " + to);

            File logDirectory = new File(from);

            Console.WriteLine("logDirectory = " + logDirectory);
            Config config = Config.defaults(stringMap());

            using (DefaultFileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction())
            {
                LogProvider            logProvider     = Instance;
                CoreLogPruningStrategy pruningStrategy = (new CoreLogPruningStrategyFactory(config.Get(raft_log_pruning_strategy), logProvider)).newInstance();
                SegmentedRaftLog       log             = new SegmentedRaftLog(fileSystem, logDirectory, config.Get(raft_log_rotation_size), CoreReplicatedContentMarshal.marshaller(), logProvider, config.Get(raft_log_reader_pool_size), Clocks.systemClock(), new ThreadPoolJobScheduler(), pruningStrategy);

                long totalCommittedEntries = log.AppendIndex();                         // Not really, but we need to have a way to pass in the commit index
                for (int i = 0; i <= totalCommittedEntries; i++)
                {
                    ReplicatedContent content = readLogEntry(log, i).content();
                    if (content is ReplicatedTransaction)
                    {
                        ReplicatedTransaction tx = ( ReplicatedTransaction )content;
                        ReplicatedTransactionFactory.extractTransactionRepresentation(tx, new sbyte[0]).accept(element =>
                        {
                            Console.WriteLine(element);
                            return(false);
                        });
                    }
                }
            }
        }
Exemple #9
0
        public SegmentedRaftLog(FileSystemAbstraction fileSystem, File directory, long rotateAtSize, ChannelMarshal <ReplicatedContent> contentMarshal, LogProvider logProvider, int readerPoolSize, Clock clock, JobScheduler scheduler, CoreLogPruningStrategy pruningStrategy)
        {
            this._fileSystem     = fileSystem;
            this._directory      = directory;
            this._rotateAtSize   = rotateAtSize;
            this._contentMarshal = contentMarshal;
            this._logProvider    = logProvider;
            this._scheduler      = scheduler;

            this._fileNames  = new FileNames(directory);
            this._readerPool = new ReaderPool(readerPoolSize, logProvider, _fileNames, fileSystem, clock);
            this._pruner     = new SegmentedRaftLogPruner(pruningStrategy);
            this._log        = logProvider.getLog(this.GetType());
        }
Exemple #10
0
 internal SegmentedRaftLogPruner(CoreLogPruningStrategy pruningStrategy)
 {
     this._pruningStrategy = pruningStrategy;
 }