use of org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer in project neo4j by neo4j.
the class DefaultMasterImplSPITest method flushStoreFilesWithCorrectCheckpointTriggerName.
@Test
public void flushStoreFilesWithCorrectCheckpointTriggerName() throws IOException {
CheckPointer checkPointer = mock(CheckPointer.class);
NeoStoreDataSource dataSource = mock(NeoStoreDataSource.class);
when(dataSource.listStoreFiles(anyBoolean())).thenReturn(Iterators.emptyIterator());
DefaultMasterImplSPI master = new DefaultMasterImplSPI(mock(GraphDatabaseAPI.class, RETURNS_MOCKS), mock(FileSystemAbstraction.class), new Monitors(), mock(LabelTokenHolder.class), mock(PropertyKeyTokenHolder.class), mock(RelationshipTypeTokenHolder.class), mock(IdGeneratorFactory.class), mock(TransactionCommitProcess.class), checkPointer, mock(TransactionIdStore.class), mock(LogicalTransactionStore.class), dataSource, mock(PageCache.class), new StoreCopyCheckPointMutex());
master.flushStoresAndStreamStoreFiles(mock(StoreWriter.class));
TriggerInfo expectedTriggerInfo = new SimpleTriggerInfo(DefaultMasterImplSPI.STORE_COPY_CHECKPOINT_TRIGGER);
verify(checkPointer).tryCheckPoint(expectedTriggerInfo);
}
use of org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer in project neo4j by neo4j.
the class MetricsKernelExtensionFactoryIT method shouldUseEventBasedReportingCorrectly.
@Test
public void shouldUseEventBasedReportingCorrectly() throws Throwable {
// GIVEN
addNodes(100);
// WHEN
CheckPointer checkPointer = db.getDependencyResolver().resolveDependency(CheckPointer.class);
checkPointer.checkPointIfNeeded(new SimpleTriggerInfo("test"));
// wait for the file to be written before shutting down the cluster
File metricFile = metricsCsv(outputPath, CheckPointingMetrics.CHECK_POINT_DURATION);
long result = readLongValueAndAssert(metricFile, (newValue, currentValue) -> newValue > 0);
// THEN
assertThat(result, greaterThanOrEqualTo(0L));
}
use of org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer in project neo4j by neo4j.
the class FileWatchIT method notifyAboutLegacyIndexFolderRemoval.
@Test(timeout = TEST_TIMEOUT)
public void notifyAboutLegacyIndexFolderRemoval() throws InterruptedException, IOException {
String monitoredDirectory = getLegacyIndexDirectory(storeDir);
FileWatcher fileWatcher = getFileWatcher(database);
CheckPointer checkPointer = getCheckpointer(database);
DeletionLatchEventListener deletionListener = new DeletionLatchEventListener(monitoredDirectory);
ModificationEventListener modificationEventListener = new ModificationEventListener(MetaDataStore.DEFAULT_NAME);
fileWatcher.addFileWatchEventListener(deletionListener);
fileWatcher.addFileWatchEventListener(modificationEventListener);
do {
createNode(database);
forceCheckpoint(checkPointer);
} while (!modificationEventListener.awaitModificationNotification());
deleteStoreDirectory(storeDir, monitoredDirectory);
deletionListener.awaitDeletionNotification();
logProvider.assertContainsMessageContaining("'" + monitoredDirectory + "' which belongs to the store was deleted while database was running.");
}
Aggregations