예제 #1
0
 internal StoreCopyResponsePacker(LogicalTransactionStore transactionStore, TransactionIdStore transactionIdStore, LogFileInformation logFileInformation, System.Func <StoreId> storeId, long mandatoryStartTransactionId, StoreCopyServer.Monitor monitor) : base(transactionStore, transactionIdStore, storeId)
 {
     this._transactionIdStore          = transactionIdStore;
     this._mandatoryStartTransactionId = mandatoryStartTransactionId;
     this._logFileInformation          = logFileInformation;
     this._monitor = monitor;
 }
예제 #2
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are ignored unless the option to convert to C# 7.2 'in' parameters is selected:
//ORIGINAL LINE: public OnlineBackupKernelExtension(org.neo4j.kernel.configuration.Config config, final org.neo4j.kernel.internal.GraphDatabaseAPI graphDatabaseAPI, final org.neo4j.logging.LogProvider logProvider, final org.neo4j.kernel.monitoring.Monitors monitors, final org.neo4j.kernel.NeoStoreDataSource neoStoreDataSource, final org.neo4j.io.fs.FileSystemAbstraction fileSystemAbstraction)
		 public OnlineBackupKernelExtension( Config config, GraphDatabaseAPI graphDatabaseAPI, LogProvider logProvider, Monitors monitors, NeoStoreDataSource neoStoreDataSource, FileSystemAbstraction fileSystemAbstraction ) : this(config, graphDatabaseAPI, () ->
		 {
		  {
				DependencyResolver dependencyResolver = graphDatabaseAPI.DependencyResolver;
				TransactionIdStore transactionIdStore = dependencyResolver.resolveDependency( typeof( TransactionIdStore ) );
				StoreCopyServer copier = new StoreCopyServer( neoStoreDataSource, dependencyResolver.resolveDependency( typeof( CheckPointer ) ), fileSystemAbstraction, graphDatabaseAPI.DatabaseLayout().databaseDirectory(), monitors.NewMonitor(typeof(StoreCopyServer.Monitor)) );
				LogicalTransactionStore logicalTransactionStore = dependencyResolver.resolveDependency( typeof( LogicalTransactionStore ) );
				LogFileInformation logFileInformation = dependencyResolver.resolveDependency( typeof( LogFileInformation ) );
				return new BackupImpl( copier, logicalTransactionStore, transactionIdStore, logFileInformation, graphDatabaseAPI.storeId, logProvider );
		  }, monitors, logProvider);
예제 #3
0
 public BackupImpl(StoreCopyServer storeCopyServer, LogicalTransactionStore logicalTransactionStore, TransactionIdStore transactionIdStore, LogFileInformation logFileInformation, System.Func <StoreId> storeId, LogProvider logProvider)
 {
     this._storeCopyServer         = storeCopyServer;
     this._logicalTransactionStore = logicalTransactionStore;
     this._transactionIdStore      = transactionIdStore;
     this._logFileInformation      = logFileInformation;
     this._storeId = storeId;
     this._logger  = logProvider.getLog(this.GetType()).InfoLogger();
     this._incrementalResponsePacker = new ResponsePacker(logicalTransactionStore, transactionIdStore, storeId);
 }
예제 #4
0
 public override bool Reached(File file, long version, LogFileInformation source)
 {
     try
     {
         long firstStartRecordTimestamp = source.GetFirstStartRecordTimestamp(version);
         return(firstStartRecordTimestamp >= 0 && firstStartRecordTimestamp < _lowerLimit);
     }
     catch (IOException e)
     {
         throw new Exception(e);
     }
 }
예제 #5
0
        public override bool Reached(File ignored, long version, LogFileInformation source)
        {
            try
            {
                // try to ask next version log file which is my last tx
                long lastTx = source.GetFirstEntryId(version + 1);
                if (lastTx == -1)
                {
                    throw new System.InvalidOperationException("The next version should always exist, since this is called after rotation and the " + "PruneStrategy never checks the current active log file");
                }

                long highest = source.LastEntryId;
                return(highest - lastTx >= _maxTransactionCount);
            }
            catch (IOException e)
            {
                throw new Exception(e);
            }
        }
예제 #6
0
 public override bool Reached(File file, long version, LogFileInformation source)
 {
     return(++_nonEmptyLogCount >= _maxNonEmptyLogs);
 }
예제 #7
0
 public override bool Reached(File file, long version, LogFileInformation source)
 {
     _currentSize += _fileSystem.getFileSize(file);
     return(_currentSize >= _maxSize);
 }