Exemple #1
0
 public override void Start()
 {
     this._obligationFulfiller = _dependencies.obligationFulfiller();
     this._log = _dependencies.logService().getInternalLog(typeof(BatchingResponseHandler));
     this._versionContextSupplier = _dependencies.versionContextSupplier();
     this._batchCommitter         = new TransactionBatchCommitter(_dependencies.kernelTransactions(), _idReuseSafeZoneTime, _dependencies.commitProcess(), _log);
     this._stopped = false;
 }
Exemple #2
0
 /// <summary>
 /// Cursor factory construction </summary>
 /// <param name="pagedFile"> paged file for which cursor is created </param>
 /// <param name="pageCursorTracerSupplier"> supplier of thread local (transaction local) page cursor tracers that will
 /// provide thread local page cache statistics </param>
 /// <param name="pageCacheTracer"> global page cache tracer </param>
 /// <param name="versionContextSupplier"> version context supplier </param>
 internal CursorFactory(MuninnPagedFile pagedFile, PageCursorTracerSupplier pageCursorTracerSupplier, PageCacheTracer pageCacheTracer, VersionContextSupplier versionContextSupplier)
 {
     this._pagedFile  = pagedFile;
     this._victimPage = pagedFile.PageCache.victimPage;
     this._pageCursorTracerSupplier = pageCursorTracerSupplier;
     this._pageCacheTracer          = pageCacheTracer;
     this._versionContextSupplier   = versionContextSupplier;
 }
Exemple #3
0
        public static PageCache CreatePageCache(FileSystemAbstraction fileSystem, JobScheduler jobScheduler)
        {
            SingleFilePageSwapperFactory factory = new SingleFilePageSwapperFactory();

            factory.Open(fileSystem, Configuration.EMPTY);

            PageCacheTracer cacheTracer = PageCacheTracer.NULL;
            DefaultPageCursorTracerSupplier cursorTracerSupplier   = DefaultPageCursorTracerSupplier.INSTANCE;
            VersionContextSupplier          versionContextSupplier = EmptyVersionContextSupplier.EMPTY;
            MemoryAllocator memoryAllocator = MemoryAllocator.createAllocator("8 MiB", GlobalMemoryTracker.INSTANCE);

            return(new MuninnPageCache(factory, memoryAllocator, cacheTracer, cursorTracerSupplier, versionContextSupplier, jobScheduler));
        }
Exemple #4
0
        public StoreFactory(DatabaseLayout databaseLayout, Config config, IdGeneratorFactory idGeneratorFactory, PageCache pageCache, FileSystemAbstraction fileSystemAbstraction, RecordFormats recordFormats, LogProvider logProvider, VersionContextSupplier versionContextSupplier, params OpenOption[] openOptions)
        {
            this._databaseLayout         = databaseLayout;
            this._config                 = config;
            this._idGeneratorFactory     = idGeneratorFactory;
            this._fileSystemAbstraction  = fileSystemAbstraction;
            this._versionContextSupplier = versionContextSupplier;
            this._recordFormats          = recordFormats;
            this._openOptions            = openOptions;
            (new RecordFormatPropertyConfigurator(recordFormats, config)).configure();

            this._logProvider = logProvider;
            this._pageCache   = pageCache;
        }
Exemple #5
0
 internal Stopped(KeyFormat <Key> keys, ActiveState.Factory stateFactory, VersionContextSupplier versionContextSupplier) : base(keys, stateFactory, versionContextSupplier)
 {
 }
Exemple #6
0
 private DeadState(KeyFormat <Key> keys, ActiveState.Factory stateFactory, VersionContextSupplier versionContextSupplier)
 {
     this._keys                  = keys;
     this.StateFactory           = stateFactory;
     this.VersionContextSupplier = versionContextSupplier;
 }
Exemple #7
0
 internal NeedsCreation(KeyFormat <Key> keys, ActiveState.Factory stateFactory, RotationStrategy rotation, VersionContextSupplier versionContextSupplier) : base(keys, stateFactory, versionContextSupplier)
 {
     this.Rotation = rotation;
 }
Exemple #8
0
 private static PageCache CreatePageCache(FileSystemAbstraction fileSystem, Config config, LogProvider log, PageCacheTracer tracer, PageCursorTracerSupplier cursorTracerSupplier, VersionContextSupplier contextSupplier, JobScheduler jobScheduler)
 {
     return((new ConfiguringPageCacheFactory(fileSystem, config, tracer, cursorTracerSupplier, log.GetLog(typeof(BatchingNeoStores)), contextSupplier, jobScheduler)).OrCreatePageCache);
 }
Exemple #9
0
 public <Key> ActiveState <Key> open(ReadableState <Key> store, File file, VersionContextSupplier versionContextSupplier)
 {
     return(new ConcurrentMapState <>(store, file, versionContextSupplier));
 }
Exemple #10
0
 public TransactionApplier(DependencyResolver resolver)
 {
     _commitProcess          = new TransactionRepresentationCommitProcess(resolver.ResolveDependency(typeof(TransactionAppender)), resolver.ResolveDependency(typeof(StorageEngine)));
     _versionContextSupplier = resolver.ResolveDependency(typeof(VersionContextSupplier));
 }
Exemple #11
0
        public override MuninnPageCache CreatePageCache(PageSwapperFactory swapperFactory, int maxPages, PageCacheTracer tracer, PageCursorTracerSupplier cursorTracerSupplier, VersionContextSupplier contextSupplier, JobScheduler jobScheduler)
        {
            long memory = MuninnPageCache.MemoryRequiredForPages(maxPages);

            _allocator = MemoryAllocator.createAllocator(memory.ToString(), new LocalMemoryTracker());
            return(new MuninnPageCache(swapperFactory, _allocator, tracer, cursorTracerSupplier, contextSupplier, jobScheduler));
        }
Exemple #12
0
 public StoreFactory(DatabaseLayout directoryStructure, Config config, IdGeneratorFactory idGeneratorFactory, PageCache pageCache, FileSystemAbstraction fileSystemAbstraction, LogProvider logProvider, VersionContextSupplier versionContextSupplier) : this(directoryStructure, config, idGeneratorFactory, pageCache, fileSystemAbstraction, selectForStoreOrConfig(config, directoryStructure, fileSystemAbstraction, pageCache, logProvider), logProvider, versionContextSupplier)
 {
 }
Exemple #13
0
        /// <summary>
        /// Create page cache </summary>
        /// <param name="fileSystem"> file system that page cache will be based on </param>
        /// <param name="pageCacheTracer"> global page cache tracer </param>
        /// <param name="pageCursorTracerSupplier"> supplier of thread local (transaction local) page cursor tracer that will provide
        /// thread local page cache statistics </param>
        /// <param name="config"> page cache configuration </param>
        /// <param name="versionContextSupplier"> version context supplier </param>
        /// <param name="jobScheduler"> page cache job scheduler </param>
        /// <returns> created page cache instance </returns>
        public static PageCache CreatePageCache(FileSystemAbstraction fileSystem, PageCacheTracer pageCacheTracer, PageCursorTracerSupplier pageCursorTracerSupplier, Config config, VersionContextSupplier versionContextSupplier, JobScheduler jobScheduler)
        {
            config.AugmentDefaults(GraphDatabaseSettings.pagecache_memory, "8M");
            ZoneId logTimeZone = config.Get(GraphDatabaseSettings.db_timezone).ZoneId;
            FormattedLogProvider        logProvider      = FormattedLogProvider.withZoneId(logTimeZone).toOutputStream(System.err);
            ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory(fileSystem, config, pageCacheTracer, pageCursorTracerSupplier, logProvider.GetLog(typeof(PageCache)), versionContextSupplier, jobScheduler);

            return(pageCacheFactory.OrCreatePageCache);
        }
 private ConcurrentMapState <string> CreateMapState(VersionContextSupplier versionContextSupplier)
 {
     return(new ConcurrentMapState <string>(_store, _file, versionContextSupplier));
 }
 internal MuninnWritePageCursor(long victimPage, PageCursorTracer pageCursorTracer, VersionContextSupplier versionContextSupplier) : base(victimPage, pageCursorTracer, versionContextSupplier)
 {
 }