Ejemplo n.º 1
0
		public RavenFileSystem(InMemoryRavenConfiguration systemConfiguration, string name, TransportState recievedTransportState = null)
		{
		    this.Name = name;
			this.systemConfiguration = systemConfiguration;

            storage = CreateTransactionalStorage(systemConfiguration);
			search = new IndexStorage(systemConfiguration.FileSystem.IndexStoragePath, systemConfiguration.Settings);
			sigGenerator = new SigGenerator();
			var replicationHiLo = new SynchronizationHiLo(storage);
			var sequenceActions = new SequenceActions(storage);
			transportState = recievedTransportState ?? new TransportState();
			notificationPublisher = new NotificationPublisher(transportState);
			fileLockManager = new FileLockManager();
			storage.Initialize();
			search.Initialize();
			var uuidGenerator = new UuidGenerator(sequenceActions);
			historian = new Historian(storage, replicationHiLo, uuidGenerator);
			BufferPool = new BufferPool(1024 * 1024 * 1024, 65 * 1024);
			conflictArtifactManager = new ConflictArtifactManager(storage, search);
			conflictDetector = new ConflictDetector();
			conflictResolver = new ConflictResolver(storage, new CompositionContainer(systemConfiguration.Catalog));
			synchronizationTask = new SynchronizationTask(storage, sigGenerator, notificationPublisher, systemConfiguration);
			storageOperationsTask = new StorageOperationsTask(storage, search, notificationPublisher);
            metricsCounters = new MetricsCountersManager();

			AppDomain.CurrentDomain.ProcessExit += ShouldDispose;
			AppDomain.CurrentDomain.DomainUnload += ShouldDispose;
		}
Ejemplo n.º 2
0
        public void Initialize ()
        {
            this.storage.Initialize();

            var replicationHiLo = new SynchronizationHiLo(storage);
            var sequenceActions = new SequenceActions(storage);
            var uuidGenerator = new UuidGenerator(sequenceActions);
            this.historian = new Historian(storage, replicationHiLo, uuidGenerator);

            this.search.Initialize(this);
        }
Ejemplo n.º 3
0
	    public void Initialize()
        {
		    var generator = new UuidGenerator();
		    storage.Initialize(generator, FileCodecs);
			generator.EtagBase = new SequenceActions(storage).GetNextValue("Raven/Etag");

            historian = new Historian(storage, new SynchronizationHiLo(storage));

			InitializeTriggersExceptIndexCodecs();

            search.Initialize(this);

			SecondStageInitialization();

			synchronizationTask.Start();
        }
Ejemplo n.º 4
0
        public void Initialize()
        {
            storage.Initialize(FileCodecs);

            var replicationHiLo = new SynchronizationHiLo(storage);
            var sequenceActions = new SequenceActions(storage);
            var uuidGenerator = new UuidGenerator(sequenceActions);
            historian = new Historian(storage, replicationHiLo, uuidGenerator);

            search.Initialize(this);

			InitializeTriggersExceptIndexCodecs();
			SecondStageInitialization();
        }
Ejemplo n.º 5
0
        public void Initialize()
        {
            try
            {
                var generator = new UuidGenerator();
                storage.Initialize(generator, FileCodecs, storagePath =>
                {
                    if (configuration.RunInMemory)
                        return;

                    var resourceTypeFile = Path.Combine(storagePath, Constants.FileSystem.FsResourceMarker);

                    if (File.Exists(resourceTypeFile) == false)
                        using (File.Create(resourceTypeFile)) { }
                });
                generator.EtagBase = new SequenceActions(storage).GetNextValue("Raven/Etag");

                historian = new Historian(storage, new SynchronizationHiLo(storage));

                InitializeTriggersExceptIndexCodecs();

                search.Initialize(this);

                SecondStageInitialization();

                synchronizationTask.Start();
            }
            catch (Exception e)
            {
                Log.ErrorException(string.Format("Could not create file system '{0}'", Name ?? "unknown name"), e);
                try
                {
                    Dispose();
                }
                catch (Exception ex)
                {
                    Log.FatalException("Failed to dispose when already getting an error during file system initialization", ex);
                }
                throw;
            }
        }