@Test public void getLastClosedTransactionShouldFailWhenStoreIsClosed() { MetaDataStore metaDataStore = newMetaDataStore(); metaDataStore.close(); try { metaDataStore.getLastClosedTransaction(); fail( "Expected exception reading from MetaDataStore after being closed." ); } catch ( Exception e ) { assertThat( e, instanceOf( IllegalStateException.class ) ); } }
assertEquals( 8, metaDataStore.getGraphNextProp() ); assertEquals( 9, metaDataStore.getLatestConstraintIntroducingTx() ); assertArrayEquals( metaDataStore.getLastClosedTransaction(), new long[]{FIELD_NOT_PRESENT,44,43} );
@Test public void testRecordTransactionClosed() { // GIVEN MetaDataStore metaDataStore = newMetaDataStore(); long[] originalClosedTransaction = metaDataStore.getLastClosedTransaction(); long transactionId = originalClosedTransaction[0] + 1; long version = 1L; long byteOffset = 777L; // WHEN metaDataStore.transactionClosed( transactionId, version, byteOffset ); // long[] with the highest offered gap-free number and its meta data. long[] closedTransactionFlags = metaDataStore.getLastClosedTransaction(); //EXPECT assertEquals( version, closedTransactionFlags[1] ); assertEquals( byteOffset, closedTransactionFlags[2] ); // WHEN metaDataStore.close(); metaDataStore = newMetaDataStore(); // EXPECT long[] lastClosedTransactionFlags = metaDataStore.getLastClosedTransaction(); assertEquals( version, lastClosedTransactionFlags[1] ); assertEquals( byteOffset, lastClosedTransactionFlags[2] ); metaDataStore.close(); }
@Test public void shouldNotSetHighestTransactionIdWhenNeeded() { // GIVEN FileSystemAbstraction fileSystem = fs.get(); StoreFactory factory = getStoreFactory( Config.defaults(), databaseLayout, fileSystem, LOG_PROVIDER ); try ( NeoStores neoStore = factory.openAllNeoStores( true ) ) { MetaDataStore store = neoStore.getMetaDataStore(); store.setLastCommittedAndClosedTransactionId( 40, 4444, BASE_TX_COMMIT_TIMESTAMP, LogHeader.LOG_HEADER_SIZE, 0 ); // WHEN store.transactionCommitted( 39, 3333, BASE_TX_COMMIT_TIMESTAMP ); // THEN assertEquals( new TransactionId( 40, 4444, BASE_TX_COMMIT_TIMESTAMP ), store.getLastCommittedTransaction() ); assertArrayEquals( store.getLastClosedTransaction(), new long[]{40,0,LogHeader.LOG_HEADER_SIZE} ); } }
@Test public void shouldSetHighestTransactionIdWhenNeeded() { // GIVEN FileSystemAbstraction fileSystem = fs.get(); StoreFactory factory = getStoreFactory( Config.defaults(), databaseLayout, fileSystem, LOG_PROVIDER ); try ( NeoStores neoStore = factory.openAllNeoStores( true ) ) { MetaDataStore store = neoStore.getMetaDataStore(); store.setLastCommittedAndClosedTransactionId( 40, 4444, BASE_TX_COMMIT_TIMESTAMP, LogHeader.LOG_HEADER_SIZE, 0 ); // WHEN store.transactionCommitted( 42, 6666, BASE_TX_COMMIT_TIMESTAMP ); // THEN assertEquals( new TransactionId( 42, 6666, BASE_TX_COMMIT_TIMESTAMP ), store.getLastCommittedTransaction() ); assertArrayEquals( store.getLastClosedTransaction(), new long[]{40,0,LogHeader.LOG_HEADER_SIZE} ); } }
metaDataStore.getUpgradeTransaction() ); assertEquals( 12, metaDataStore.getUpgradeTime() ); assertArrayEquals( metaDataStore.getLastClosedTransaction(), new long[]{6,44,43} );