use of org.neo4j.logging.Log in project neo4j by neo4j.
the class MultiRealmAuthManagerRule method setupAuthManager.
private void setupAuthManager(AuthenticationStrategy authStrategy) throws Throwable {
FormattedLog.Builder builder = FormattedLog.withUTCTimeZone();
securityLogWriter = new StringWriter();
Log log = builder.toWriter(securityLogWriter);
securityLog = new SecurityLog(log);
InternalFlatFileRealm internalFlatFileRealm = new InternalFlatFileRealm(users, new InMemoryRoleRepository(), new BasicPasswordPolicy(), authStrategy, mock(JobScheduler.class), new InMemoryUserRepository(), new InMemoryUserRepository());
manager = new MultiRealmAuthManager(internalFlatFileRealm, Collections.singleton(internalFlatFileRealm), new MemoryConstrainedCacheManager(), securityLog, true);
manager.init();
}
use of org.neo4j.logging.Log in project neo4j by neo4j.
the class EnterpriseSecurityModuleTest method setup.
// --------- HELPERS ----------
@Before
public void setup() {
config = mock(Config.class);
mockLogProvider = mock(LogProvider.class);
Log mockLog = mock(Log.class);
when(mockLogProvider.getLog(anyString())).thenReturn(mockLog);
when(mockLog.isDebugEnabled()).thenReturn(true);
when(config.get(SecuritySettings.auth_cache_ttl)).thenReturn(0L);
when(config.get(SecuritySettings.auth_cache_max_capacity)).thenReturn(10);
when(config.get(SecuritySettings.security_log_successful_authentication)).thenReturn(false);
}
use of org.neo4j.logging.Log in project neo4j by neo4j.
the class ReadReplicaReplicationIT method shouldBeAbleToCopyStoresFromCoreToReadReplica.
@Test
public void shouldBeAbleToCopyStoresFromCoreToReadReplica() throws Exception {
// given
Map<String, String> params = stringMap(CausalClusteringSettings.raft_log_rotation_size.name(), "1k", CausalClusteringSettings.raft_log_pruning_frequency.name(), "500ms", CausalClusteringSettings.state_machine_flush_window_size.name(), "1", CausalClusteringSettings.raft_log_pruning_strategy.name(), "1 entries");
Cluster cluster = clusterRule.withNumberOfReadReplicas(0).withSharedCoreParams(params).withRecordFormat(HighLimit.NAME).startCluster();
cluster.coreTx((db, tx) -> {
Node node = db.createNode(Label.label("L"));
for (int i = 0; i < 10; i++) {
node.setProperty("prop-" + i, "this is a quite long string to get to the log limit soonish");
}
tx.success();
});
long baseVersion = versionBy(cluster.awaitLeader().raftLogDirectory(), Math::max);
CoreClusterMember coreGraphDatabase = null;
for (int j = 0; j < 2; j++) {
coreGraphDatabase = cluster.coreTx((db, tx) -> {
Node node = db.createNode(Label.label("L"));
for (int i = 0; i < 10; i++) {
node.setProperty("prop-" + i, "this is a quite long string to get to the log limit soonish");
}
tx.success();
});
}
File raftLogDir = coreGraphDatabase.raftLogDirectory();
assertEventually("pruning happened", () -> versionBy(raftLogDir, Math::min), greaterThan(baseVersion), 5, SECONDS);
// when
cluster.addReadReplicaWithIdAndRecordFormat(4, HighLimit.NAME).start();
// then
for (final ReadReplica readReplica : cluster.readReplicas()) {
assertEventually("read replica available", () -> readReplica.database().isAvailable(0), is(true), 10, SECONDS);
}
}
use of org.neo4j.logging.Log in project neo4j by neo4j.
the class ClusterManager method allSeesAllAsAvailable.
public static Predicate<ManagedCluster> allSeesAllAsAvailable() {
return new Predicate<ManagedCluster>() {
@Override
public boolean test(ManagedCluster cluster) {
if (!allSeesAllAsJoined().test(cluster)) {
return false;
}
int clusterMembersChecked = 0;
for (HighlyAvailableGraphDatabase database : cluster.getAllMembers()) {
clusterMembersChecked++;
ClusterMembers members = database.getDependencyResolver().resolveDependency(ClusterMembers.class);
for (ClusterMember clusterMember : members.getMembers()) {
if (!cluster.isAvailable(clusterMember)) {
return false;
}
}
}
if (clusterMembersChecked == 0) {
return false;
}
// Everyone sees everyone else as available!
for (HighlyAvailableGraphDatabase database : cluster.getAllMembers()) {
Log log = database.getDependencyResolver().resolveDependency(LogService.class).getInternalLog(getClass());
log.debug(this.toString());
}
return true;
}
@Override
public String toString() {
return "All instances should see all others as available";
}
};
}
use of org.neo4j.logging.Log in project neo4j by neo4j.
the class TransactionPropagatorTest method shouldCapUndesiredSlaveCountPushLogging.
@Test
public void shouldCapUndesiredSlaveCountPushLogging() throws Exception {
// GIVEN
int serverId = 1;
final InstanceId instanceId = new InstanceId(serverId);
Configuration config = new Configuration() {
@Override
public int getTxPushFactor() {
return 1;
}
@Override
public InstanceId getServerId() {
return instanceId;
}
@Override
public SlavePriority getReplicationStrategy() {
return SlavePriorities.fixedDescending();
}
};
Log logger = mock(Log.class);
Slaves slaves = mock(Slaves.class);
when(slaves.getSlaves()).thenReturn(Collections.<Slave>emptyList());
CommitPusher pusher = mock(CommitPusher.class);
TransactionPropagator propagator = life.add(new TransactionPropagator(config, logger, slaves, pusher));
// WHEN
for (int i = 0; i < 10; i++) {
propagator.committed(TransactionIdStore.BASE_TX_ID, serverId);
}
// THEN
verify(logger, times(1)).info(anyString());
}
Aggregations