@Override public void publishAsCommitted() { markedAsCommitted = true; transactionIdStore.transactionCommitted( transactionId, transactionChecksum, transactionCommitTimestamp ); }
@Override public void publishAsCommitted() { committed = true; transactionIdStore.transactionCommitted( id, CHECKSUM, TIMESTAMP ); }
@Test public void shouldSuccessfullyCommitTransactionWithNoCommands() throws Exception { // GIVEN long txId = 11; long commitTimestamp = System.currentTimeMillis(); TransactionIdStore transactionIdStore = mock( TransactionIdStore.class ); TransactionAppender appender = new TestableTransactionAppender( transactionIdStore ); when( transactionIdStore.nextCommittingTransactionId() ).thenReturn( txId ); StorageEngine storageEngine = mock( StorageEngine.class ); TransactionCommitProcess commitProcess = new TransactionRepresentationCommitProcess( appender, storageEngine ); PhysicalTransactionRepresentation noCommandTx = new PhysicalTransactionRepresentation( Collections.emptyList() ); noCommandTx.setHeader( new byte[0], -1, -1, -1, -1, -1, -1 ); // WHEN commitProcess.commit( new TransactionToApply( noCommandTx ), commitEvent, INTERNAL ); verify( transactionIdStore ).transactionCommitted( txId, FakeCommitment.CHECKSUM, FakeCommitment.TIMESTAMP ); }
@Test public void skipLogFileWithoutHeader() throws IOException { FileSystemAbstraction fs = fileSystemRule.get(); LogFiles logFiles = LogFilesBuilder.builder( directory.databaseLayout(), fs ) .withTransactionIdStore( transactionIdStore ) .withLogVersionRepository( logVersionRepository ).build(); life.add( logFiles ); life.start(); // simulate new file without header presence logVersionRepository.incrementAndGetVersion(); fs.create( logFiles.getLogFileForVersion( logVersionRepository.getCurrentLogVersion() ) ).close(); transactionIdStore.transactionCommitted( 5L, 5L, 5L ); PhysicalLogicalTransactionStore.LogVersionLocator versionLocator = new PhysicalLogicalTransactionStore.LogVersionLocator( 4L ); logFiles.accept( versionLocator ); LogPosition logPosition = versionLocator.getLogPosition(); assertEquals( 1, logPosition.getLogVersion() ); }
@Override public void publishAsCommitted() { markedAsCommitted = true; transactionIdStore.transactionCommitted( transactionId, transactionChecksum, transactionCommitTimestamp ); }