示例#1
0
 protected internal override void Configure(GraphDatabaseBuilder builder)
 {
     // Reduce the default page cache memory size to 8 mega-bytes for test databases.
     builder.SetConfig(GraphDatabaseSettings.pagecache_memory, "8m");
     builder.setConfig((new BoltConnector("bolt")).type, BOLT.name());
     builder.SetConfig((new BoltConnector("bolt")).enabled, "false");
 }
示例#2
0
        private void GenerateInitialData()
        {
            GraphDatabaseBuilder builder = (new TestGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(_directory.databaseDir());
            GraphDatabaseAPI     graphDb = ( GraphDatabaseAPI )builder.SetConfig(GraphDatabaseSettings.record_format, _formatName).setConfig(GraphDatabaseSettings.label_block_size, "60").setConfig("dbms.backup.enabled", "false").newGraphDatabase();

            try
            {
                GenerateInitialData(graphDb);
                StoreAccess stores = (new StoreAccess(graphDb.DependencyResolver.resolveDependency(typeof(RecordStorageEngine)).testAccessNeoStores())).initialize();
                _schemaId     = stores.SchemaStore.HighId;
                _nodeId       = stores.NodeStore.HighId;
                _labelId      = ( int )stores.LabelTokenStore.HighId;
                _nodeLabelsId = stores.NodeDynamicLabelStore.HighId;
                _relId        = stores.RelationshipStore.HighId;
                _relGroupId   = stores.RelationshipGroupStore.HighId;
                _propId       = ( int )stores.PropertyStore.HighId;
                _stringPropId = stores.StringStore.HighId;
                _arrayPropId  = stores.ArrayStore.HighId;
                _relTypeId    = ( int )stores.RelationshipTypeTokenStore.HighId;
                _propKeyId    = ( int )stores.PropertyKeyNameStore.HighId;
            }
            finally
            {
                graphDb.Shutdown();
            }
        }
示例#3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldBeAbleToUpgradeAStoreWithoutIdFilesAsBackups() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
            public virtual void ShouldBeAbleToUpgradeAStoreWithoutIdFilesAsBackups()
            {
                File databaseDirectory = Store.prepareDirectory(TestDir.databaseDir());

                // remove id files
                File[] idFiles = databaseDirectory.listFiles((dir1, name) => name.EndsWith(".id"));

                foreach (File idFile in idFiles)
                {
                    assertTrue(idFile.delete());
                }

                GraphDatabaseFactory factory = new TestGraphDatabaseFactory();
                GraphDatabaseBuilder builder = factory.NewEmbeddedDatabaseBuilder(TestDir.databaseDir());

                builder.SetConfig(GraphDatabaseSettings.allow_upgrade, "true");
                builder.SetConfig(GraphDatabaseSettings.record_format, Store.FormatFamily);
                builder.SetConfig(OnlineBackupSettings.online_backup_enabled, Settings.FALSE);
                GraphDatabaseService db = builder.NewGraphDatabase();

                try
                {
                    CheckInstance(Store, ( GraphDatabaseAPI )db);
                }
                finally
                {
                    Db.shutdown();
                }

                assertConsistentStore(DatabaseLayout.of(databaseDirectory));
            }
示例#4
0
        public virtual GraphDatabaseService NewImpermanentDatabase <T1>(IDictionary <T1> config)
        {
            GraphDatabaseBuilder builder = NewImpermanentDatabaseBuilder();

            SetConfig(config, builder);
            return(builder.NewGraphDatabase());
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setup()
        public virtual void Setup()
        {
            _fs = FsRule.get();
            File storeDir = TestDirectory.databaseDir();

            _builder = (new TestGraphDatabaseFactory()).setFileSystem(new UncloseableDelegatingFileSystemAbstraction(_fs)).newImpermanentDatabaseBuilder(storeDir);
        }
示例#6
0
        private GraphDatabaseService StartDatabase()
        {
            GraphDatabaseBuilder builder = _factory.newEmbeddedDatabaseBuilder(_storeDir);

            _testSpecificConfig.forEach(builder.setConfig);
            return(builder.NewGraphDatabase());
        }
示例#7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp()
        public virtual void SetUp()
        {
            _logsDirectory = new File(TestDirectory.storeDir(), "logs");
            _logFilename   = new File(_logsDirectory, "query.log");
            AssertableLogProvider inMemoryLog = new AssertableLogProvider();

            _databaseBuilder = (new TestEnterpriseGraphDatabaseFactory()).setFileSystem(new UncloseableDelegatingFileSystemAbstraction(FileSystem.get())).setInternalLogProvider(inMemoryLog).newImpermanentDatabaseBuilder(TestDirectory.databaseDir());
        }
示例#8
0
        private GraphDatabaseService getGraphDatabaseService(File storeDir, params string[] settings)
        {
            GraphDatabaseBuilder builder = (new TestGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(storeDir);

            builder.Config = settings(settings);

            return(builder.NewGraphDatabase());
        }
示例#9
0
        public override void Setup(File storeDir, System.Action <GraphDatabaseService> create)
        {
            GraphDatabaseBuilder graphDatabaseBuilder = (new TestGraphDatabaseFactory()).newImpermanentDatabaseBuilder(storeDir);

            _settings.forEach(graphDatabaseBuilder.setConfig);
            _db = graphDatabaseBuilder.NewGraphDatabase();
            create(_db);
        }
示例#10
0
        public virtual GraphDatabaseService NewImpermanentDatabase(File storeDir)
        {
            File absoluteDirectory = storeDir.AbsoluteFile;
            GraphDatabaseBuilder databaseBuilder = NewImpermanentDatabaseBuilder(absoluteDirectory);

            databaseBuilder.setConfig(GraphDatabaseSettings.active_database, absoluteDirectory.Name);
            databaseBuilder.setConfig(GraphDatabaseSettings.databases_root_path, absoluteDirectory.ParentFile.AbsolutePath);
            return(databaseBuilder.NewGraphDatabase());
        }
示例#11
0
        private GraphDatabaseService CreateDb2(int?backupPort)
        {
            File storeDir = _testDirectory.databaseDir("graph-db-2");
            GraphDatabaseFactory factory = new GraphDatabaseFactory();
            GraphDatabaseBuilder builder = factory.NewEmbeddedDatabaseBuilder(storeDir);

            builder.SetConfig(OnlineBackupSettings.online_backup_server, "0.0.0.0:" + backupPort);
            return(builder.NewGraphDatabase());
        }
示例#12
0
        private GraphDatabaseService StartDatabase(bool allowUpgrade)
        {
            GraphDatabaseFactory factory = new TestGraphDatabaseFactory();
            GraphDatabaseBuilder builder = factory.NewEmbeddedDatabaseBuilder(TestDir.databaseDir());

            builder.SetConfig(GraphDatabaseSettings.allow_upgrade, Convert.ToString(allowUpgrade));
            builder.SetConfig(GraphDatabaseSettings.pagecache_memory, "8m");
            builder.SetConfig(OnlineBackupSettings.online_backup_enabled, Settings.FALSE);
            return(builder.NewGraphDatabase());
        }
示例#13
0
		 private GraphDatabaseAPI StartCustomDatabase<T1>( File storeDir, IDictionary<T1> configMap )
		 {
			  CustomClockEnterpriseFacadeFactory customClockEnterpriseFacadeFactory = new CustomClockEnterpriseFacadeFactory( this );
			  GraphDatabaseBuilder databaseBuilder = ( new CustomGuardTestTestGraphDatabaseFactory( this, customClockEnterpriseFacadeFactory ) ).NewImpermanentDatabaseBuilder( storeDir );
			  configMap.forEach( databaseBuilder.setConfig );
			  databaseBuilder.SetConfig( GraphDatabaseSettings.record_id_batch_size, "1" );

			  GraphDatabaseAPI database = ( GraphDatabaseAPI ) databaseBuilder.SetConfig( OnlineBackupSettings.online_backup_enabled, Settings.FALSE ).newGraphDatabase();
			  CleanupRule.add( database );
			  return database;
		 }
示例#14
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUpPorts()
        public virtual void SetUpPorts()
        {
            _backupPort = PortAuthority.allocatePort();
            GraphDatabaseFactory factory = new EnterpriseGraphDatabaseFactory();
            GraphDatabaseBuilder builder = factory.NewEmbeddedDatabaseBuilder(_dir.storeDir());

            builder.setConfig(online_backup_enabled, "true");
            builder.setConfig(online_backup_server, "127.0.0.1:" + _backupPort);
            _db = ( GraphDatabaseAPI )builder.NewGraphDatabase();
            _cleanup.add(_db);
        }
示例#15
0
        private GraphDatabaseService CreateDatabase(File storeDir, IDictionary <string, string> config)
        {
            TestEnterpriseGraphDatabaseFactory factory = new TestEnterpriseGraphDatabaseFactory();
            GraphDatabaseBuilder graphDatabaseBuilder  = (storeDir != null) ? factory.NewImpermanentDatabaseBuilder(storeDir) : factory.NewImpermanentDatabaseBuilder();

            if (config != null)
            {
                graphDatabaseBuilder.Config = config;
            }

            return(graphDatabaseBuilder.NewGraphDatabase());
        }
示例#16
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void migratingOlderDataAndThanStartAClusterUsingTheNewerDataShouldWork() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
            public virtual void MigratingOlderDataAndThanStartAClusterUsingTheNewerDataShouldWork()
            {
                // migrate the store using a single instance
                File storeDir                = TestDir.storeDir("initialData");
                File databaseDirectory       = Store.prepareDirectory(TestDir.databaseDir(storeDir));
                GraphDatabaseFactory factory = new TestGraphDatabaseFactory();
                GraphDatabaseBuilder builder = factory.NewEmbeddedDatabaseBuilder(databaseDirectory);

                builder.SetConfig(GraphDatabaseSettings.allow_upgrade, "true");
                builder.SetConfig(GraphDatabaseSettings.pagecache_memory, "8m");
                builder.setConfig(GraphDatabaseSettings.logs_directory, TestDir.directory("logs").AbsolutePath);
                builder.SetConfig(OnlineBackupSettings.online_backup_enabled, Settings.FALSE);
                GraphDatabaseService db = builder.NewGraphDatabase();

                try
                {
                    CheckInstance(Store, ( GraphDatabaseAPI )db);
                }
                finally
                {
                    Db.shutdown();
                }

                assertConsistentStore(DatabaseLayout.of(databaseDirectory));

                // start the cluster with the db migrated from the old instance
                File           haDir          = TestDir.storeDir("ha-stuff");
                ClusterManager clusterManager = (new ClusterManager.Builder(haDir)).withSeedDir(databaseDirectory).withCluster(clusterOfSize(2)).build();

                HighlyAvailableGraphDatabase master;
                HighlyAvailableGraphDatabase slave;

                try
                {
                    clusterManager.Start();
                    ClusterManager.ManagedCluster cluster = clusterManager.Cluster;

                    cluster.Await(allSeesAllAsAvailable());

                    master = cluster.Master;
                    CheckInstance(Store, master);
                    slave = cluster.AnySlave;
                    CheckInstance(Store, slave);
                    clusterManager.SafeShutdown();

                    assertConsistentStore(master.DatabaseLayout());
                    assertConsistentStore(slave.DatabaseLayout());
                }
                finally
                {
                    clusterManager.SafeShutdown();
                }
            }
示例#17
0
        private GraphDatabaseService StartGraphDatabase(File storeDir, bool withOnlineBackup, int?backupPort, string logLocation)
        {
            GraphDatabaseFactory dbFactory            = new TestGraphDatabaseFactoryAnonymousInnerClass(this, storeDir);
            GraphDatabaseBuilder graphDatabaseBuilder = dbFactory.NewEmbeddedDatabaseBuilder(storeDir).setConfig(OnlineBackupSettings.online_backup_enabled, withOnlineBackup.ToString()).setConfig(GraphDatabaseSettings.keep_logical_logs, Settings.TRUE).setConfig(GraphDatabaseSettings.record_format, RecordFormatName).setConfig(GraphDatabaseSettings.logical_logs_location, logLocation);

            if (backupPort != null)
            {
                graphDatabaseBuilder.SetConfig(OnlineBackupSettings.online_backup_server, "127.0.0.1:" + backupPort);
            }

            return(graphDatabaseBuilder.NewGraphDatabase());
        }
示例#18
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testConflictingIdDoesNotSilentlyFail()
        public virtual void TestConflictingIdDoesNotSilentlyFail()
        {
            HighlyAvailableGraphDatabase master     = null;
            HighlyAvailableGraphDatabase dbWithId21 = null;
            HighlyAvailableGraphDatabase dbWithId22 = null;

            try
            {
                int masterClusterPort = PortAuthority.allocatePort();

                GraphDatabaseBuilder masterBuilder = (new TestHighlyAvailableGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(Path(1)).setConfig(ClusterSettings.initial_hosts, "127.0.0.1:" + masterClusterPort).setConfig(ClusterSettings.cluster_server, "127.0.0.1:" + masterClusterPort).setConfig(ClusterSettings.server_id, "" + 1).setConfig(HaSettings.HaServer, ":" + PortAuthority.allocatePort()).setConfig(HaSettings.TxPushFactor, "0").setConfig(OnlineBackupSettings.online_backup_enabled, false.ToString());
                master = ( HighlyAvailableGraphDatabase )masterBuilder.NewGraphDatabase();

                GraphDatabaseBuilder db21Builder = (new TestHighlyAvailableGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(Path(2)).setConfig(ClusterSettings.initial_hosts, "127.0.0.1:" + masterClusterPort).setConfig(ClusterSettings.cluster_server, "127.0.0.1:" + PortAuthority.allocatePort()).setConfig(ClusterSettings.server_id, "" + 2).setConfig(HaSettings.HaServer, ":" + PortAuthority.allocatePort()).setConfig(HaSettings.TxPushFactor, "0").setConfig(OnlineBackupSettings.online_backup_enabled, false.ToString());
                dbWithId21 = ( HighlyAvailableGraphDatabase )db21Builder.NewGraphDatabase();

                GraphDatabaseBuilder db22Builder = (new TestHighlyAvailableGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(Path(3)).setConfig(ClusterSettings.initial_hosts, "127.0.0.1:" + masterClusterPort).setConfig(ClusterSettings.cluster_server, "127.0.0.1:" + PortAuthority.allocatePort()).setConfig(ClusterSettings.server_id, "" + 2).setConfig(HaSettings.HaServer, ":" + PortAuthority.allocatePort()).setConfig(HaSettings.TxPushFactor, "0").setConfig(OnlineBackupSettings.online_backup_enabled, false.ToString());

                try
                {
                    dbWithId22 = ( HighlyAvailableGraphDatabase )db22Builder.NewGraphDatabase();
                    fail("Should not be able to startup when a cluster already has my id");
                }
                catch (Exception)
                {
                    // awesome
                }

                assertTrue(master.Master);
                assertTrue(!dbWithId21.Master);

                using (Transaction transaction = dbWithId21.BeginTx())
                {
                    transaction.Success();
                }
            }
            finally
            {
                if (dbWithId21 != null)
                {
                    dbWithId21.Shutdown();
                }
                if (dbWithId22 != null)
                {
                    dbWithId22.Shutdown();
                }
                if (master != null)
                {
                    master.Shutdown();
                }
            }
        }
示例#19
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldBehaveCorrectlyUnderStress() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldBehaveCorrectlyUnderStress()
        {
            long   durationInMinutes = parseLong(fromEnv("CHECK_POINT_LOG_ROTATION_STRESS_DURATION", DEFAULT_DURATION_IN_MINUTES));
            File   storeDir          = new File(fromEnv("CHECK_POINT_LOG_ROTATION_STORE_DIRECTORY", _defaultStoreDir));
            long   nodeCount         = parseLong(fromEnv("CHECK_POINT_LOG_ROTATION_NODE_COUNT", DEFAULT_NODE_COUNT));
            int    threads           = parseInt(fromEnv("CHECK_POINT_LOG_ROTATION_WORKER_THREADS", DEFAULT_WORKER_THREADS));
            string pageCacheMemory   = fromEnv("CHECK_POINT_LOG_ROTATION_PAGE_CACHE_MEMORY", DEFAULT_PAGE_CACHE_MEMORY);

            Console.WriteLine("1/6\tBuilding initial store...");
            using (FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction(), JobScheduler jobScheduler = new ThreadPoolJobScheduler())
            {
                Config dbConfig = Config.defaults();
                (new ParallelBatchImporter(DatabaseLayout.of(ensureExistsAndEmpty(storeDir)), fileSystem, null, DEFAULT, NullLogService.Instance, ExecutionMonitors.defaultVisible(jobScheduler), EMPTY, dbConfig, RecordFormatSelector.selectForConfig(dbConfig, NullLogProvider.Instance), NO_MONITOR, jobScheduler)).doImport(new NodeCountInputs(nodeCount));
            }

            Console.WriteLine("2/6\tStarting database...");
            GraphDatabaseBuilder builder = (new TestGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(storeDir);
            GraphDatabaseService db      = builder.SetConfig(GraphDatabaseSettings.pagecache_memory, pageCacheMemory).setConfig(GraphDatabaseSettings.keep_logical_logs, Settings.FALSE).setConfig(GraphDatabaseSettings.check_point_interval_time, CHECK_POINT_INTERVAL_MINUTES + "m").setConfig(GraphDatabaseSettings.tracer, "timer").newGraphDatabase();

            Console.WriteLine("3/6\tWarm up db...");
            using (Workload workload = new Workload(db, defaultRandomMutation(nodeCount, db), threads))
            {
                // make sure to run at least one checkpoint during warmup
                long warmUpTimeMillis = TimeUnit.SECONDS.toMillis(CHECK_POINT_INTERVAL_MINUTES * 2);
                workload.Run(warmUpTimeMillis, Workload.TransactionThroughput_Fields.NONE);
            }

            Console.WriteLine("4/6\tStarting workload...");
            TransactionThroughputChecker throughput = new TransactionThroughputChecker();

            using (Workload workload = new Workload(db, defaultRandomMutation(nodeCount, db), threads))
            {
                workload.Run(TimeUnit.MINUTES.toMillis(durationInMinutes), throughput);
            }

            Console.WriteLine("5/6\tShutting down...");
            Db.shutdown();

            try
            {
                Console.WriteLine("6/6\tPrinting stats and recorded timings...");
                TimerTransactionTracer.printStats(System.out);
                throughput.AssertThroughput(System.out);
            }
            finally
            {
                Console.WriteLine("Done.");
            }

            // let's cleanup disk space when everything went well
            FileUtils.deleteRecursively(storeDir);
        }
示例#20
0
        private void SetConfig <T1>(IDictionary <T1> config, GraphDatabaseBuilder builder)
        {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: for (java.util.Map.Entry<org.neo4j.graphdb.config.Setting<?>,String> entry : config.entrySet())
            foreach (KeyValuePair <Setting <object>, string> entry in config.SetOfKeyValuePairs())
            {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.neo4j.graphdb.config.Setting<?> key = entry.getKey();
                Setting <object> key   = entry.Key;
                string           value = entry.Value;
                builder.SetConfig(key, value);
            }
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldBeAbleToStartAndShutdownMultipleTimesTheDBWithoutCommittingTransactions() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldBeAbleToStartAndShutdownMultipleTimesTheDBWithoutCommittingTransactions()
        {
            // given
            GraphDatabaseBuilder graphDatabaseBuilder = _builder.setConfig(GraphDatabaseSettings.check_point_interval_time, "300m").setConfig(GraphDatabaseSettings.check_point_interval_tx, "10000").setConfig(GraphDatabaseSettings.logical_log_rotation_threshold, "1g");

            // when
            graphDatabaseBuilder.NewGraphDatabase().shutdown();
            graphDatabaseBuilder.NewGraphDatabase().shutdown();

            // then - 2 check points have been written in the log
            IList <CheckPoint> checkPoints = (new CheckPointCollector(TestDirectory.databaseDir(), _fs)).find(0);

            assertEquals(2, checkPoints.Count);
        }
示例#22
0
        public static DbRepresentation Of(File storeDir, bool includeIndexes, Config config)
        {
            GraphDatabaseBuilder builder = (new TestGraphDatabaseFactory()).NewEmbeddedDatabaseBuilder(storeDir);

            builder.Config = config.Raw;

            GraphDatabaseService db = builder.NewGraphDatabase();

            try
            {
                return(of(db, includeIndexes));
            }
            finally
            {
                Db.shutdown();
            }
        }
示例#23
0
 private void Create()
 {
     CreateResources();
     try
     {
         GraphDatabaseFactory factory = NewFactory();
         factory.Monitors = _monitors;
         Configure(factory);
         _databaseBuilder = NewBuilder(factory);
         _globalConfig.forEach(_databaseBuilder.setConfig);
     }
     catch (Exception e)
     {
         DeleteResources();
         throw e;
     }
 }
示例#24
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void mustBeAbleToStartWithNullTracer()
        public virtual void MustBeAbleToStartWithNullTracer()
        {
            // Start the database
            File disabledTracerDb                   = ClusterRule.directory("disabledTracerDb");
            GraphDatabaseBuilder builder            = (new EnterpriseGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(disabledTracerDb);
            GraphDatabaseService nullTracerDatabase = builder.SetConfig(MetricsSettings.NeoEnabled, Settings.TRUE).setConfig(csvEnabled, Settings.TRUE).setConfig(csvPath, _outputPath.AbsolutePath).setConfig(GraphDatabaseSettings.tracer, "null").setConfig(OnlineBackupSettings.online_backup_enabled, Settings.FALSE).newGraphDatabase();

            try
            {
                using (Transaction tx = nullTracerDatabase.BeginTx())
                {
                    Node node = nullTracerDatabase.CreateNode();
                    node.SetProperty("all", "is well");
                    tx.Success();
                }
            }
            finally
            {
                nullTracerDatabase.Shutdown();
            }
            // We assert that no exception is thrown during startup or the operation of the database.
        }
示例#25
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void migrationShouldFail() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
            public virtual void MigrationShouldFail()
            {
                // migrate the store using a single instance
                File databaseDirectory = Unzip.unzip(this.GetType(), DbFileName, TestDir.databaseDir());

                (new File(databaseDirectory, "debug.log")).delete();                             // clear the log
                GraphDatabaseFactory factory = new TestGraphDatabaseFactory();
                GraphDatabaseBuilder builder = factory.NewEmbeddedDatabaseBuilder(TestDir.databaseDir());

                builder.SetConfig(GraphDatabaseSettings.allow_upgrade, "true");
                builder.SetConfig(GraphDatabaseSettings.pagecache_memory, "8m");
                try
                {
                    builder.NewGraphDatabase();
                    fail("It should have failed.");
                }
                catch (Exception ex)
                {
                    assertTrue(ex.InnerException is LifecycleException);
                    Exception realException = ex.InnerException.InnerException;
                    assertTrue("Unexpected exception", Exceptions.contains(realException, typeof(StoreUpgrader.UnexpectedUpgradingStoreVersionException)));
                }
            }
示例#26
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void embeddedDatabaseShouldStartOnOlderStoreWhenUpgradeIsEnabled() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
            public virtual void EmbeddedDatabaseShouldStartOnOlderStoreWhenUpgradeIsEnabled()
            {
                File databaseDirectory = Store.prepareDirectory(TestDir.databaseDir());

                GraphDatabaseFactory factory = new TestGraphDatabaseFactory();
                GraphDatabaseBuilder builder = factory.NewEmbeddedDatabaseBuilder(TestDir.databaseDir());

                builder.SetConfig(GraphDatabaseSettings.allow_upgrade, "true");
                builder.SetConfig(GraphDatabaseSettings.pagecache_memory, "8m");
                builder.setConfig(GraphDatabaseSettings.logs_directory, TestDir.directory("logs").AbsolutePath);
                builder.SetConfig(OnlineBackupSettings.online_backup_enabled, Settings.FALSE);
                GraphDatabaseService db = builder.NewGraphDatabase();

                try
                {
                    CheckInstance(Store, ( GraphDatabaseAPI )db);
                }
                finally
                {
                    Db.shutdown();
                }

                assertConsistentStore(DatabaseLayout.of(databaseDirectory));
            }
示例#27
0
 private void Configure(GraphDatabaseBuilder builder, File storeDir)
 {
     Configure(builder);
     builder.setConfig(GraphDatabaseSettings.logs_directory, (new File(storeDir, "logs")).AbsolutePath);
 }
示例#28
0
        private HighlyAvailableGraphDatabase StartDbAtBase(int i, string initialHosts, int clusterPort)
        {
            GraphDatabaseBuilder masterBuilder = (new TestHighlyAvailableGraphDatabaseFactory()).newEmbeddedDatabaseBuilder(Path(i).AbsoluteFile).setConfig(ClusterSettings.initial_hosts, initialHosts).setConfig(ClusterSettings.cluster_server, "127.0.0.1:" + clusterPort).setConfig(ClusterSettings.server_id, "" + i).setConfig(HaSettings.HaServer, ":" + PortAuthority.allocatePort()).setConfig(HaSettings.TxPushFactor, "0").setConfig(OnlineBackupSettings.online_backup_enabled, Settings.FALSE);

            return(( HighlyAvailableGraphDatabase )masterBuilder.NewGraphDatabase());
        }
示例#29
0
        protected internal virtual GraphDatabaseService CreateGraphDatabase()
        {
            GraphDatabaseBuilder graphDatabaseBuilder = Configure(CreateGraphDatabaseFactory()).setFileSystem(FileSystemRule.get()).newEmbeddedDatabaseBuilder(TestDir.storeDir());

            return(Configure(graphDatabaseBuilder).newGraphDatabase());
        }
示例#30
0
 protected internal virtual GraphDatabaseBuilder Configure(GraphDatabaseBuilder graphDatabaseBuilder)
 {
     return(graphDatabaseBuilder);
 }