public PropertyValueRecordSizeCalculator( PropertyStore propertyStore ) { this( propertyStore.getRecordSize(), propertyStore.getStringStore().getRecordSize(), propertyStore.getStringStore().getRecordDataSize(), propertyStore.getArrayStore().getRecordSize(), propertyStore.getArrayStore().getRecordDataSize() ); }
@Test public void testSetBlockSize() throws Exception { DatabaseLayout databaseLayout = dir.databaseLayout( "small_store" ); initializeStores( databaseLayout, stringMap( "unsupported.dbms.block_size.strings", "62", "unsupported.dbms.block_size.array_properties", "302" ) ); assertEquals( 62 + DynamicRecordFormat.RECORD_HEADER_SIZE, pStore.getStringStore().getRecordSize() ); assertEquals( 302 + DynamicRecordFormat.RECORD_HEADER_SIZE, pStore.getArrayStore().getRecordSize() ); ds.stop(); }
@Test public void shouldRespectDbConfig() throws Exception { // GIVEN int arrayBlockSize = 10; int stringBlockSize = 12; File dbConfig = file( "neo4j.properties" ); store( stringMap( GraphDatabaseSettings.array_block_size.name(), String.valueOf( arrayBlockSize ), GraphDatabaseSettings.string_block_size.name(), String.valueOf( stringBlockSize ) ), dbConfig ); List<String> nodeIds = nodeIds(); // WHEN importTool( "--into", dbRule.getDatabaseDirAbsolutePath(), "--db-config", dbConfig.getAbsolutePath(), "--nodes", nodeData( true, Configuration.COMMAS, nodeIds, value -> true ).getAbsolutePath() ); // THEN NeoStores stores = dbRule.getGraphDatabaseAPI().getDependencyResolver() .resolveDependency( RecordStorageEngine.class ).testAccessNeoStores(); int headerSize = Standard.LATEST_RECORD_FORMATS.dynamic().getRecordHeaderSize(); assertEquals( arrayBlockSize + headerSize, stores.getPropertyStore().getArrayStore().getRecordSize() ); assertEquals( stringBlockSize + headerSize, stores.getPropertyStore().getStringStore().getRecordSize() ); }
@Test public void useProvidedAdditionalConfig() throws Exception { // GIVEN int arrayBlockSize = 10; int stringBlockSize = 12; File dbConfig = file( "neo4j.properties" ); store( stringMap( GraphDatabaseSettings.array_block_size.name(), String.valueOf( arrayBlockSize ), GraphDatabaseSettings.string_block_size.name(), String.valueOf( stringBlockSize ) ), dbConfig ); List<String> nodeIds = nodeIds(); // WHEN importTool( "--into", dbRule.getDatabaseDirAbsolutePath(), "--additional-config", dbConfig.getAbsolutePath(), "--nodes", nodeData( true, Configuration.COMMAS, nodeIds, value -> true ).getAbsolutePath() ); // THEN NeoStores stores = dbRule.getGraphDatabaseAPI().getDependencyResolver() .resolveDependency( RecordStorageEngine.class ).testAccessNeoStores(); int headerSize = Standard.LATEST_RECORD_FORMATS.dynamic().getRecordHeaderSize(); assertEquals( arrayBlockSize + headerSize, stores.getPropertyStore().getArrayStore().getRecordSize() ); assertEquals( stringBlockSize + headerSize, stores.getPropertyStore().getStringStore().getRecordSize() ); }
@Test public void combineProvidedDbAndAdditionalConfig() throws Exception { // GIVEN int arrayBlockSize = 10; int stringBlockSize = 12; File dbConfig = file( "neo4j.properties" ); File additionalConfig = file( "additional.properties" ); store( stringMap( GraphDatabaseSettings.string_block_size.name(), String.valueOf( stringBlockSize ) ), dbConfig ); store( stringMap( GraphDatabaseSettings.array_block_size.name(), String.valueOf( arrayBlockSize ) ), additionalConfig ); List<String> nodeIds = nodeIds(); // WHEN importTool( "--into", dbRule.getDatabaseDirAbsolutePath(), "--db-config", dbConfig.getAbsolutePath(), "--additional-config", additionalConfig.getAbsolutePath(), "--nodes", nodeData( true, Configuration.COMMAS, nodeIds, value -> true ).getAbsolutePath() ); // THEN NeoStores stores = dbRule.getGraphDatabaseAPI().getDependencyResolver() .resolveDependency( RecordStorageEngine.class ).testAccessNeoStores(); int headerSize = Standard.LATEST_RECORD_FORMATS.dynamic().getRecordHeaderSize(); assertEquals( arrayBlockSize + headerSize, stores.getPropertyStore().getArrayStore().getRecordSize() ); assertEquals( stringBlockSize + headerSize, stores.getPropertyStore().getStringStore().getRecordSize() ); }
@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() ); } }
public PropertyValueRecordSizeCalculator( PropertyStore propertyStore ) { this( propertyStore.getRecordSize(), propertyStore.getStringStore().getRecordSize(), propertyStore.getStringStore().getRecordDataSize(), propertyStore.getArrayStore().getRecordSize(), propertyStore.getArrayStore().getRecordDataSize() ); }