use of org.neo4j.kernel.monitoring.Monitors in project neo4j by neo4j.
the class TransactionLogRecoveryIT method writePartialTx.
private void writePartialTx(File storeDir) throws IOException {
PhysicalLogFiles logFiles = new PhysicalLogFiles(storeDir, fs);
ReadOnlyLogVersionRepository logVersionRepository = new ReadOnlyLogVersionRepository(pageCache.getPageCache(fs), storeDir);
ReadOnlyTransactionIdStore txIdStore = new ReadOnlyTransactionIdStore(pageCache.getPageCache(fs), storeDir);
PhysicalLogFile logFile = new PhysicalLogFile(fs, logFiles, Long.MAX_VALUE, /*don't rotate*/
txIdStore::getLastCommittedTransactionId, logVersionRepository, new Monitors().newMonitor(PhysicalLogFile.Monitor.class), new LogHeaderCache(10));
try (Lifespan ignored = new Lifespan(logFile)) {
LogEntryWriter writer = new LogEntryWriter(logFile.getWriter());
writer.writeStartEntry(0, 0, 0x123456789ABCDEFL, txIdStore.getLastCommittedTransactionId() + 1, new byte[] { 0 });
}
}
use of org.neo4j.kernel.monitoring.Monitors in project neo4j by neo4j.
the class ConnectionInfoIT method catchupServerMessage.
@Test
public void catchupServerMessage() throws Throwable {
// given
testSocket = bindPort("localhost", 4242);
// when
AssertableLogProvider logProvider = new AssertableLogProvider();
AssertableLogProvider userLogProvider = new AssertableLogProvider();
CoreState coreState = mock(CoreState.class);
Config config = Config.defaults().with(singletonMap(transaction_listen_address.name(), ":" + testSocket.getLocalPort()));
CatchupServer catchupServer = new CatchupServer(logProvider, userLogProvider, mockSupplier(), mockSupplier(), mockSupplier(), mockSupplier(), mock(BooleanSupplier.class), coreState, config, new Monitors(), mockSupplier(), mock(FileSystemAbstraction.class), mock(PageCache.class), new StoreCopyCheckPointMutex());
//then
try {
catchupServer.start();
} catch (Throwable throwable) {
//expected.
}
logProvider.assertContainsMessageContaining("Address is already bound for setting");
userLogProvider.assertContainsMessageContaining("Address is already bound for setting");
}
use of org.neo4j.kernel.monitoring.Monitors in project neo4j by neo4j.
the class NeoStoreDataSourceRule method getDataSource.
public NeoStoreDataSource getDataSource(File storeDir, FileSystemAbstraction fs, IdGeneratorFactory idGeneratorFactory, IdTypeConfigurationProvider idConfigurationProvider, PageCache pageCache, Config config, DatabaseHealth databaseHealth, LogService logService) {
if (dataSource != null) {
dataSource.stop();
dataSource.shutdown();
}
StatementLocksFactory locksFactory = mock(StatementLocksFactory.class);
StatementLocks statementLocks = mock(StatementLocks.class);
Locks.Client locks = mock(Locks.Client.class);
when(statementLocks.optimistic()).thenReturn(locks);
when(statementLocks.pessimistic()).thenReturn(locks);
when(locksFactory.newInstance()).thenReturn(statementLocks);
JobScheduler jobScheduler = mock(JobScheduler.class, RETURNS_MOCKS);
Monitors monitors = new Monitors();
LabelScanStoreProvider labelScanStoreProvider = nativeLabelScanStoreProvider(storeDir, fs, pageCache, config, logService);
SystemNanoClock clock = Clocks.nanoClock();
dataSource = new NeoStoreDataSource(storeDir, config, idGeneratorFactory, IdReuseEligibility.ALWAYS, idConfigurationProvider, logService, mock(JobScheduler.class, RETURNS_MOCKS), mock(TokenNameLookup.class), dependencyResolverForNoIndexProvider(labelScanStoreProvider), mock(PropertyKeyTokenHolder.class), mock(LabelTokenHolder.class), mock(RelationshipTypeTokenHolder.class), locksFactory, mock(SchemaWriteGuard.class), mock(TransactionEventHandlers.class), IndexingService.NO_MONITOR, fs, mock(TransactionMonitor.class), databaseHealth, mock(PhysicalLogFile.Monitor.class), TransactionHeaderInformationFactory.DEFAULT, new StartupStatisticsProvider(), null, new CommunityCommitProcessFactory(), mock(InternalAutoIndexing.class), pageCache, new StandardConstraintSemantics(), monitors, new Tracers("null", NullLog.getInstance(), monitors, jobScheduler), mock(Procedures.class), IOLimiter.unlimited(), new AvailabilityGuard(clock, NullLog.getInstance()), clock, new CanWrite(), new StoreCopyCheckPointMutex());
return dataSource;
}
use of org.neo4j.kernel.monitoring.Monitors in project neo4j by neo4j.
the class MonitoredTermStateStorageTest method shouldMonitorTerm.
@Test
public void shouldMonitorTerm() throws Exception {
// given
Monitors monitors = new Monitors();
StubRaftTermMonitor raftTermMonitor = new StubRaftTermMonitor();
monitors.addMonitorListener(raftTermMonitor);
TermState state = new TermState();
MonitoredTermStateStorage monitoredTermStateStorage = new MonitoredTermStateStorage(new InMemoryStateStorage<>(new TermState()), monitors);
// when
state.update(7);
monitoredTermStateStorage.persistStoreData(state);
// then
assertEquals(7, raftTermMonitor.term());
}
use of org.neo4j.kernel.monitoring.Monitors in project neo4j by neo4j.
the class TestBlockLogBuffer method canWriteLargestAtomAfterFillingBuffer.
@Test
public void canWriteLargestAtomAfterFillingBuffer() throws Exception {
byte[] bytes = new byte[300];
ChannelBuffer wrappedBuffer = ChannelBuffers.wrappedBuffer(bytes);
wrappedBuffer.resetWriterIndex();
BlockLogBuffer buffer = new BlockLogBuffer(wrappedBuffer, new Monitors().newMonitor(ByteCounterMonitor.class));
byte[] bytesValue = new byte[255];
bytesValue[0] = 1;
bytesValue[254] = -1;
long longValue = 123456;
buffer.put(bytesValue, bytesValue.length);
buffer.putLong(longValue);
buffer.close();
ByteBuffer verificationBuffer = ByteBuffer.wrap(bytes);
assertEquals((byte) 0, verificationBuffer.get());
byte[] actualBytes = new byte[bytesValue.length];
verificationBuffer.get(actualBytes);
assertThat(actualBytes, new ArrayMatches<byte[]>(bytesValue));
assertEquals((byte) 8, verificationBuffer.get());
assertEquals(longValue, verificationBuffer.getLong());
}
Aggregations