Search in sources :

Example 6 with CheckPointer

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);
}
Also used : FileSystemAbstraction(org.neo4j.io.fs.FileSystemAbstraction) RelationshipTypeTokenHolder(org.neo4j.kernel.impl.core.RelationshipTypeTokenHolder) TransactionIdStore(org.neo4j.kernel.impl.transaction.log.TransactionIdStore) NeoStoreDataSource(org.neo4j.kernel.NeoStoreDataSource) TransactionCommitProcess(org.neo4j.kernel.impl.api.TransactionCommitProcess) TriggerInfo(org.neo4j.kernel.impl.transaction.log.checkpoint.TriggerInfo) SimpleTriggerInfo(org.neo4j.kernel.impl.transaction.log.checkpoint.SimpleTriggerInfo) IdGeneratorFactory(org.neo4j.kernel.impl.store.id.IdGeneratorFactory) LogicalTransactionStore(org.neo4j.kernel.impl.transaction.log.LogicalTransactionStore) SimpleTriggerInfo(org.neo4j.kernel.impl.transaction.log.checkpoint.SimpleTriggerInfo) GraphDatabaseAPI(org.neo4j.kernel.internal.GraphDatabaseAPI) PropertyKeyTokenHolder(org.neo4j.kernel.impl.core.PropertyKeyTokenHolder) StoreWriter(org.neo4j.com.storecopy.StoreWriter) CheckPointer(org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer) Monitors(org.neo4j.kernel.monitoring.Monitors) StoreCopyCheckPointMutex(org.neo4j.kernel.impl.transaction.log.checkpoint.StoreCopyCheckPointMutex) LabelTokenHolder(org.neo4j.kernel.impl.core.LabelTokenHolder) PageCache(org.neo4j.io.pagecache.PageCache) Test(org.junit.Test)

Example 7 with CheckPointer

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));
}
Also used : SimpleTriggerInfo(org.neo4j.kernel.impl.transaction.log.checkpoint.SimpleTriggerInfo) CheckPointer(org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer) File(java.io.File) Test(org.junit.Test)

Example 8 with CheckPointer

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.");
}
Also used : FileWatcher(org.neo4j.io.fs.watcher.FileWatcher) CheckPointer(org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer) Matchers.containsString(org.hamcrest.Matchers.containsString) Test(org.junit.Test)

Aggregations

CheckPointer (org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer)8 Test (org.junit.Test)7 Matchers.containsString (org.hamcrest.Matchers.containsString)5 FileWatcher (org.neo4j.io.fs.watcher.FileWatcher)5 SimpleTriggerInfo (org.neo4j.kernel.impl.transaction.log.checkpoint.SimpleTriggerInfo)3 File (java.io.File)2 GraphDatabaseAPI (org.neo4j.kernel.internal.GraphDatabaseAPI)2 StoreWriter (org.neo4j.com.storecopy.StoreWriter)1 DependencyResolver (org.neo4j.graphdb.DependencyResolver)1 Label (org.neo4j.graphdb.Label)1 Resource (org.neo4j.graphdb.Resource)1 FileSystemAbstraction (org.neo4j.io.fs.FileSystemAbstraction)1 PageCache (org.neo4j.io.pagecache.PageCache)1 PagedFile (org.neo4j.io.pagecache.PagedFile)1 NeoStoreDataSource (org.neo4j.kernel.NeoStoreDataSource)1 TransactionCommitProcess (org.neo4j.kernel.impl.api.TransactionCommitProcess)1 LabelTokenHolder (org.neo4j.kernel.impl.core.LabelTokenHolder)1 PropertyKeyTokenHolder (org.neo4j.kernel.impl.core.PropertyKeyTokenHolder)1 RelationshipTypeTokenHolder (org.neo4j.kernel.impl.core.RelationshipTypeTokenHolder)1 IdGeneratorFactory (org.neo4j.kernel.impl.store.id.IdGeneratorFactory)1