Search in sources :

Example 16 with MemoryPools

use of org.neo4j.memory.MemoryPools in project neo4j by neo4j.

the class KernelTransactionTestBase method newNotInitializedTransaction.

KernelTransactionImplementation newNotInitializedTransaction(LeaseService leaseService, Config config, NamedDatabaseId databaseId) {
    Dependencies dependencies = new Dependencies();
    dependencies.satisfyDependency(mock(GraphDatabaseFacade.class));
    var memoryPool = new MemoryPools().pool(MemoryGroup.TRANSACTION, ByteUnit.mebiBytes(4), null);
    return new KernelTransactionImplementation(config, mock(DatabaseTransactionEventListeners.class), null, null, commitProcess, transactionMonitor, txPool, clock, new AtomicReference<>(CpuClock.NOT_AVAILABLE), mock(DatabaseTracers.class, RETURNS_MOCKS), storageEngine, any -> CanWrite.INSTANCE, EmptyVersionContextSupplier.EMPTY, () -> collectionsFactory, new StandardConstraintSemantics(), mock(SchemaState.class), mockedTokenHolders(), mock(IndexingService.class), mock(IndexStatisticsStore.class), dependencies, databaseId, leaseService, memoryPool, new DatabaseReadOnlyChecker.Default(new DbmsReadOnlyChecker.Default(config), databaseId.name()), TransactionExecutionMonitor.NO_OP, CommunitySecurityLog.NULL_LOG, () -> KernelVersion.LATEST, mock(DbmsRuntimeRepository.class));
}
Also used : DatabaseTracers(org.neo4j.kernel.database.DatabaseTracers) DbmsRuntimeRepository(org.neo4j.dbms.database.DbmsRuntimeRepository) MemoryPools(org.neo4j.memory.MemoryPools) SchemaState(org.neo4j.internal.schema.SchemaState) IndexingService(org.neo4j.kernel.impl.api.index.IndexingService) DatabaseReadOnlyChecker(org.neo4j.configuration.helpers.DatabaseReadOnlyChecker) IndexStatisticsStore(org.neo4j.kernel.impl.api.index.stats.IndexStatisticsStore) DatabaseTransactionEventListeners(org.neo4j.kernel.internal.event.DatabaseTransactionEventListeners) Dependencies(org.neo4j.collection.Dependencies) GraphDatabaseFacade(org.neo4j.kernel.impl.factory.GraphDatabaseFacade) StandardConstraintSemantics(org.neo4j.kernel.impl.constraints.StandardConstraintSemantics)

Example 17 with MemoryPools

use of org.neo4j.memory.MemoryPools in project neo4j by neo4j.

the class IndexCheckingSelectorTest method checkIndexesWithoutValuesWithNodeChecker.

@Test
void checkIndexesWithoutValuesWithNodeChecker() throws Exception {
    try (Transaction tx = db.beginTx()) {
        Node node = tx.createNode(label1);
        node.setProperty(property1, "value");
        tx.commit();
    }
    try (Transaction tx = db.beginTx()) {
        tx.execute("CREATE FULLTEXT INDEX FOR (n:Label1) ON EACH [n.property1]");
        tx.commit();
    }
    dbms.shutdown();
    Config config = defaults(GraphDatabaseSettings.logs_directory, layout.databaseDirectory());
    JobScheduler jobScheduler = JobSchedulerFactory.createInitialisedScheduler();
    ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory(fs, config, NULL, NullLog.getInstance(), jobScheduler, Clocks.nanoClock(), new MemoryPools(config.get(memory_tracking)));
    PageCache pageCache = pageCacheFactory.getOrCreatePageCache();
    ConsistencyCheckService.Result result;
    try {
        result = new ConsistencyCheckService().runFullConsistencyCheck(layout, config, NONE, nullLogProvider(), fs, pageCache, debugContext, layout.databaseDirectory(), DEFAULT, NULL, INSTANCE);
    } finally {
        pageCache.close();
        jobScheduler.close();
    }
    assertTrue(result.isSuccessful());
    assertThat(output.toString()).contains("IndexChecker[entityType:NODE,indexesToCheck:1]").containsPattern("NodeChecker\\[highId:.,indexesToCheck:0\\]");
}
Also used : JobScheduler(org.neo4j.scheduler.JobScheduler) MemoryPools(org.neo4j.memory.MemoryPools) Transaction(org.neo4j.graphdb.Transaction) Config(org.neo4j.configuration.Config) Node(org.neo4j.graphdb.Node) ConsistencyCheckService(org.neo4j.consistency.ConsistencyCheckService) ConfiguringPageCacheFactory(org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory) PageCache(org.neo4j.io.pagecache.PageCache) Test(org.junit.jupiter.api.Test)

Example 18 with MemoryPools

use of org.neo4j.memory.MemoryPools in project neo4j by neo4j.

the class ConsistencyCheckService method runFullConsistencyCheck.

public Result runFullConsistencyCheck(DatabaseLayout databaseLayout, Config config, ProgressMonitorFactory progressFactory, LogProvider logProvider, FileSystemAbstraction fileSystem, boolean verbose, Path reportDir, ConsistencyFlags consistencyFlags) throws ConsistencyCheckIncompleteException {
    Log log = logProvider.getLog(getClass());
    JobScheduler jobScheduler = JobSchedulerFactory.createInitialisedScheduler();
    var pageCacheTracer = PageCacheTracer.NULL;
    var memoryTracker = EmptyMemoryTracker.INSTANCE;
    ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory(fileSystem, config, pageCacheTracer, logProvider.getLog(PageCache.class), jobScheduler, Clocks.nanoClock(), new MemoryPools(config.get(memory_tracking)));
    PageCache pageCache = pageCacheFactory.getOrCreatePageCache();
    try {
        return runFullConsistencyCheck(databaseLayout, config, progressFactory, logProvider, fileSystem, pageCache, verbose, reportDir, consistencyFlags, pageCacheTracer, memoryTracker);
    } finally {
        try {
            pageCache.close();
        } catch (Exception e) {
            log.error("Failure during shutdown of the page cache", e);
        }
        try {
            jobScheduler.close();
        } catch (Exception e) {
            log.error("Failure during shutdown of the job scheduler", e);
        }
    }
}
Also used : JobScheduler(org.neo4j.scheduler.JobScheduler) MemoryPools(org.neo4j.memory.MemoryPools) Log(org.neo4j.logging.Log) DuplicatingLog(org.neo4j.logging.DuplicatingLog) ConfiguringPageCacheFactory(org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory) PageCache(org.neo4j.io.pagecache.PageCache) IOException(java.io.IOException) ConsistencyCheckIncompleteException(org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException)

Example 19 with MemoryPools

use of org.neo4j.memory.MemoryPools in project neo4j by neo4j.

the class AbstractDirectBufferTest method setUp.

@BeforeEach
void setUp() {
    var buckets = List.of("1K:1", "2K:1", "4K:1", "8K:1");
    var poolConfig = new NeoBufferPoolConfigOverride(Duration.ZERO, buckets);
    var bufferManger = new NeoByteBufferPool(poolConfig, new MemoryPools(), null);
    tracingPoolWrapper = new TracingPoolWrapper(bufferManger);
    nettyBufferAllocator = new NettyMemoryManagerWrapper(tracingPoolWrapper);
}
Also used : MemoryPools(org.neo4j.memory.MemoryPools) NeoByteBufferPool(org.neo4j.io.bufferpool.impl.NeoByteBufferPool) NeoBufferPoolConfigOverride(org.neo4j.io.bufferpool.impl.NeoBufferPoolConfigOverride) BeforeEach(org.junit.jupiter.api.BeforeEach)

Aggregations

MemoryPools (org.neo4j.memory.MemoryPools)19 BeforeEach (org.junit.jupiter.api.BeforeEach)9 LocalMemoryTracker (org.neo4j.memory.LocalMemoryTracker)8 Test (org.junit.jupiter.api.Test)7 PageCache (org.neo4j.io.pagecache.PageCache)6 ConfiguringPageCacheFactory (org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory)5 JobScheduler (org.neo4j.scheduler.JobScheduler)5 Config (org.neo4j.configuration.Config)4 IOException (java.io.IOException)2 ConsistencyCheckService (org.neo4j.consistency.ConsistencyCheckService)2 Lifespan (org.neo4j.kernel.lifecycle.Lifespan)2 DirectoryNotEmptyException (java.nio.file.DirectoryNotEmptyException)1 Path (java.nio.file.Path)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1 List (java.util.List)1 Stream (java.util.stream.Stream)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)1 Assertions.assertFalse (org.junit.jupiter.api.Assertions.assertFalse)1