@Before public void setup() { fs = pageCacheAndDependenciesRule.fileSystem(); graphDbDir = pageCacheAndDependenciesRule.directory().databaseDir(); PageCache pageCache = pageCacheAndDependenciesRule.pageCache(); indexProvider = testSuite.createIndexProvider( pageCache, fs, graphDbDir ); }
private GBPTree<RawBytes,RawBytes> createIndex( Layout<RawBytes,RawBytes> layout ) throws IOException { // some random padding PageCache pageCache = storage.pageCacheRule().getPageCache( storage.fileSystem(), config().withAccessChecks( true ) ); return new GBPTreeBuilder<>( pageCache, storage.directory().file( "index" ), layout ).build(); } }
@Parameters public static Collection<Function<PageCacheAndDependenciesRule,NumberArrayFactory>> data() { return Arrays.asList( storage -> HEAP, storage -> OFF_HEAP, storage -> AUTO_WITHOUT_PAGECACHE, storage -> CHUNKED_FIXED_SIZE, storage -> new PageCachedNumberArrayFactory( storage.pageCache(), storage.directory().directory() ) ); }
private void someDataInTheDatabase() { GraphDatabaseService db = new TestGraphDatabaseFactory() .setFileSystem( new UncloseableDelegatingFileSystemAbstraction( storage.fileSystem() ) ) .newImpermanentDatabase( storage.directory().databaseDir() ); try ( Transaction tx = db.beginTx() ) { db.createNode().createRelationshipTo( db.createNode(), MyRelTypes.TEST ); tx.success(); } finally { db.shutdown(); } } }
private File baseDir() { return rules.directory().absolutePath(); } }
@Parameterized.Parameters( name = "{0}" ) public static Collection<Object[]> providers() { Collection<Object[]> parameters = new ArrayList<>(); // GenericNativeIndexProvider parameters.add( of( "generic", true, GenericNativeIndexProvider.parallelPopulation, RandomValues::nextValue, test -> new GenericNativeIndexProvider( test.directory(), test.rules.pageCache(), test.rules.fileSystem(), EMPTY, immediate(),false, defaults() ) ) ); // NumberIndexProvider parameters.add( of( "number", true, false, RandomValues::nextNumberValue, test -> new NumberIndexProvider( test.rules.pageCache(), test.rules.fileSystem(), test.directory(), EMPTY, immediate(), false ) ) ); // StringIndexProvider parameters.add( of( "string", true, false, RandomValues::nextAlphaNumericTextValue, test -> new StringIndexProvider( test.rules.pageCache(), test.rules.fileSystem(), test.directory(), EMPTY, immediate(), false ) ) ); // SpatialIndexProvider parameters.add( of( "spatial", false, false, RandomValues::nextPointValue, test -> new SpatialIndexProvider( test.rules.pageCache(), test.rules.fileSystem(), test.directory(), EMPTY, immediate(), false, defaults() ) ) ); // TemporalIndexProvider parameters.add( of( "temporal", true, false, RandomValues::nextTemporalValue, test -> new TemporalIndexProvider( test.rules.pageCache(), test.rules.fileSystem(), test.directory(), EMPTY, immediate(), false ) ) ); return parameters; }
private FileSystemAbstraction fs() { return rules.fileSystem(); }
private PageCache pageCache() { return rules.pageCache(); }
@Test public void shouldNotOpenStoreWithNodesOrRelationshipsInIt() throws Exception { // GIVEN someDataInTheDatabase(); // WHEN try ( JobScheduler jobScheduler = new ThreadPoolJobScheduler() ) { RecordFormats recordFormats = RecordFormatSelector.selectForConfig( Config.defaults(), NullLogProvider.getInstance() ); try ( BatchingNeoStores store = BatchingNeoStores.batchingNeoStores( storage.fileSystem(), storage.directory().databaseDir(), recordFormats, DEFAULT, NullLogService.getInstance(), EMPTY, Config.defaults(), jobScheduler ) ) { store.createNew(); fail( "Should fail on existing data" ); } } catch ( IllegalStateException e ) { // THEN assertThat( e.getMessage(), containsString( "already contains" ) ); } }
@Before public void setUp() { indexFile = deps.directory().file( "index" ); layout = getLayout(); }
@Before public void setup() throws IOException, EntityNotFoundException { indexProvider = providerCreator.apply( this ); rules.fileSystem().mkdirs( indexProvider.directoryStructure().rootDirectory() ); populator = indexProvider.getPopulator( descriptor, samplingConfig ); when( nodePropertyAccessor.getNodePropertyValue( anyLong(), anyInt() ) ).thenThrow( UnsupportedOperationException.class ); prevAccessCheck = UnsafeUtil.exchangeNativeAccessCheckEnabled( false ); }
private GBPTree<KEY,VALUE> index() throws IOException { return new GBPTreeBuilder<>( deps.pageCache(), indexFile, layout ).build(); }
private StoreFactory getStoreFactory() { return new StoreFactory( storage.directory().databaseLayout(), Config.defaults(), new DefaultIdGeneratorFactory( storage.fileSystem() ), storage.pageCache(), storage.fileSystem(), NullLogProvider.getInstance(), EmptyVersionContextSupplier.EMPTY ); }
@Test public void shouldRespectDbConfig() throws Exception { // GIVEN int size = 10; Config config = Config.defaults( stringMap( GraphDatabaseSettings.array_block_size.name(), String.valueOf( size ), GraphDatabaseSettings.string_block_size.name(), String.valueOf( size ) ) ); // WHEN RecordFormats recordFormats = LATEST_RECORD_FORMATS; int headerSize = recordFormats.dynamic().getRecordHeaderSize(); try ( JobScheduler jobScheduler = new ThreadPoolJobScheduler(); BatchingNeoStores store = BatchingNeoStores.batchingNeoStores( storage.fileSystem(), storage.directory().absolutePath(), recordFormats, DEFAULT, NullLogService.getInstance(), EMPTY, config, jobScheduler ) ) { store.createNew(); // THEN assertEquals( size + headerSize, store.getPropertyStore().getArrayStore().getRecordSize() ); assertEquals( size + headerSize, store.getPropertyStore().getStringStore().getRecordSize() ); } }
private IndexDirectoryStructure.Factory directory() { File storeDir = rules.directory().databaseDir(); return directoriesBySubProvider( directoriesByProvider( storeDir ).forProvider( PROVIDER ) ); }
@Before public void setup() throws IOException { File nativeSchemaIndexStoreDirectory = newProvider().directoryStructure().rootDirectory(); rules.fileSystem().mkdirs( nativeSchemaIndexStoreDirectory ); }
@Before public void setupStore() { neoStores = new StoreFactory( storage.directory().databaseLayout(), Config.defaults(), new DefaultIdGeneratorFactory( storage.fileSystem() ), storage.pageCache(), storage.fileSystem(), NullLogProvider.getInstance(), EmptyVersionContextSupplier.EMPTY ).openNeoStores( true, StoreType.PROPERTY, StoreType.PROPERTY_ARRAY, StoreType.PROPERTY_STRING ); propertyStore = neoStores.getPropertyStore(); }
private GraphDatabaseService newEmbeddedGraphDatabaseWithSlowJobScheduler( Config config ) { GraphDatabaseFactoryState graphDatabaseFactoryState = new GraphDatabaseFactoryState(); graphDatabaseFactoryState.setUserLogProvider( NullLogService.getInstance().getUserLogProvider() ); return new GraphDatabaseFacadeFactory( DatabaseInfo.COMMUNITY, CommunityEditionModule::new ) { @Override protected PlatformModule createPlatform( File storeDir, Config config, Dependencies dependencies ) { return new PlatformModule( storeDir, config, databaseInfo, dependencies ) { @Override protected CentralJobScheduler createJobScheduler() { return newSlowJobScheduler(); } @Override protected LogService createLogService( LogProvider userLogProvider ) { return NullLogService.getInstance(); } }; } }.newFacade( resources.directory().storeDir(), config, graphDatabaseFactoryState.databaseDependencies() ); }
@Before public void setupStores() { DatabaseLayout storeLayout = storage.directory().databaseLayout(); Config config = Config.defaults( pagecache_memory, "8m" ); PageCache pageCache = storage.pageCache(); FileSystemAbstraction fs = storage.fileSystem(); DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory( fs ); NullLogProvider logProvider = NullLogProvider.getInstance(); StoreFactory storeFactory = new StoreFactory( storeLayout, config, idGeneratorFactory, pageCache, fs, logProvider, EMPTY ); neoStores = storeFactory.openAllNeoStores( true ); }
@Test public void closeImporterWithoutDiagnosticState() throws IOException { ExecutionMonitor monitor = mock( ExecutionMonitor.class ); try ( BatchingNeoStores stores = batchingNeoStoresWithExternalPageCache( storage.fileSystem(), storage.pageCache(), NULL, storage.directory().directory(), defaultFormat(), DEFAULT, getInstance(), EMPTY, defaults() ) ) { //noinspection EmptyTryBlock try ( ImportLogic logic = new ImportLogic( storage.directory().directory(), storage.fileSystem(), stores, DEFAULT, getInstance(), monitor, defaultFormat(), NO_MONITOR ) ) { // nothing to run in this import logic.success(); } } verify( monitor ).done( eq( true ), anyLong(), contains( "Data statistics is not available." ) ); }