use of org.apache.geode.distributed.internal.InternalDistributedSystem in project geode by apache.
the class DistributedSystemLogFileJUnitTest method testDistributedSystemWithFineLogLevel.
@Test
public void testDistributedSystemWithFineLogLevel() throws Exception {
// final int port = AvailablePort.getRandomAvailablePort(AvailablePort.JGROUPS);
final String logFileName = name.getMethodName() + "-system-" + System.currentTimeMillis() + ".log";
final Properties properties = new Properties();
properties.put(LOG_FILE, logFileName);
properties.put(LOG_LEVEL, "fine");
properties.put(MCAST_PORT, "0");
properties.put(LOCATORS, "");
properties.put(ENABLE_NETWORK_PARTITION_DETECTION, "false");
properties.put(DISABLE_AUTO_RECONNECT, "true");
properties.put(MEMBER_TIMEOUT, "2000");
properties.put(ENABLE_CLUSTER_CONFIGURATION, "false");
final File logFile = new File(logFileName);
if (logFile.exists()) {
logFile.delete();
}
assertFalse(logFile.exists());
this.system = DistributedSystem.connect(properties);
assertNotNull(this.system);
DistributionConfig config = ((InternalDistributedSystem) this.system).getConfig();
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.FINE_LEVEL) + " but was " + LogWriterImpl.levelToString(config.getLogLevel()), InternalLogWriter.FINE_LEVEL, config.getLogLevel());
InternalLogWriter logWriter = (InternalLogWriter) system.getLogWriter();
assertNotNull(logWriter);
assertTrue(logWriter instanceof LogWriterLogger);
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.FINE_LEVEL) + " but was " + LogWriterImpl.levelToString(logWriter.getLogWriterLevel()), InternalLogWriter.FINE_LEVEL, logWriter.getLogWriterLevel());
assertTrue(logWriter.fineEnabled());
assertTrue(((LogWriterLogger) logWriter).isDebugEnabled());
assertTrue(logWriter instanceof FastLogger);
assertTrue(((FastLogger) logWriter).isDelegating());
Wait.waitForCriterion(new WaitCriterion() {
@Override
public boolean done() {
return logFile.exists();
}
@Override
public String description() {
return "waiting for log file to exist: " + logFile;
}
}, TIMEOUT_MILLISECONDS, INTERVAL_MILLISECONDS, true);
assertTrue(logFile.exists());
// assert not empty
FileInputStream fis = new FileInputStream(logFile);
try {
assertTrue(fis.available() > 0);
} finally {
fis.close();
}
final Logger logger = LogService.getLogger();
int i = 0;
{
i++;
final String FINEST_STRING = "testLogLevels Message logged at FINEST level [" + i + "]";
logWriter.finest(FINEST_STRING);
assertFalse(fileContainsString(logFile, FINEST_STRING));
i++;
final String FINER_STRING = "testLogLevels Message logged at FINER level [" + i + "]";
logWriter.finer(FINER_STRING);
assertFalse(fileContainsString(logFile, FINER_STRING));
i++;
final String FINE_STRING = "testLogLevels Message logged at FINE level [" + i + "]";
logWriter.fine(FINE_STRING);
assertTrue(fileContainsString(logFile, FINE_STRING));
i++;
final String CONFIG_STRING = "testLogLevels Message logged at CONFIG level [" + i + "]";
logWriter.config(CONFIG_STRING);
assertTrue(fileContainsString(logFile, CONFIG_STRING));
i++;
final String INFO_STRING = "testLogLevels Message logged at INFO level [" + i + "]";
logWriter.info(INFO_STRING);
assertTrue(fileContainsString(logFile, INFO_STRING));
i++;
final String WARNING_STRING = "ExpectedStrings: testLogLevels Message logged at WARNING level [" + i + "]";
logWriter.warning(WARNING_STRING);
assertTrue(fileContainsString(logFile, WARNING_STRING));
i++;
final String ERROR_STRING = "ExpectedStrings: testLogLevels Message logged at ERROR level [" + i + "]";
logWriter.error(ERROR_STRING);
assertTrue(fileContainsString(logFile, ERROR_STRING));
i++;
final String SEVERE_STRING = "ExpectedStrings: testLogLevels Message logged at SEVERE level [" + i + "]";
logWriter.severe(SEVERE_STRING);
assertTrue(fileContainsString(logFile, SEVERE_STRING));
i++;
final String TRACE_STRING = "testLogLevels Message logged at TRACE level [" + i + "]";
logger.trace(TRACE_STRING);
assertFalse(fileContainsString(logFile, TRACE_STRING));
i++;
final String DEBUG_STRING = "testLogLevels Message logged at DEBUG level [" + i + "]";
logger.debug(DEBUG_STRING);
assertTrue(fileContainsString(logFile, DEBUG_STRING));
i++;
final String INFO_STRING_J = "testLogLevels Message logged at INFO level [" + i + "]";
logger.info(INFO_STRING_J);
assertTrue(fileContainsString(logFile, INFO_STRING_J));
i++;
final String WARN_STRING = "ExpectedStrings: testLogLevels Message logged at WARN level [" + i + "]";
logger.warn(WARN_STRING);
assertTrue(fileContainsString(logFile, WARN_STRING));
i++;
final String ERROR_STRING_J = "ExpectedStrings: testLogLevels Message logged at ERROR level [" + i + "]";
logger.error(ERROR_STRING_J);
assertTrue(fileContainsString(logFile, ERROR_STRING_J));
i++;
final String FATAL_STRING = "ExpectedStrings: testLogLevels Message logged at FATAL level [" + i + "]";
logger.fatal(FATAL_STRING);
assertTrue(fileContainsString(logFile, FATAL_STRING));
}
// change log level to error and verify
config.setLogLevel(InternalLogWriter.ERROR_LEVEL);
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.ERROR_LEVEL) + " but was " + LogWriterImpl.levelToString(config.getLogLevel()), InternalLogWriter.ERROR_LEVEL, config.getLogLevel());
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.ERROR_LEVEL) + " but was " + LogWriterImpl.levelToString(logWriter.getLogWriterLevel()), InternalLogWriter.ERROR_LEVEL, logWriter.getLogWriterLevel());
{
i++;
final String FINEST_STRING = "testLogLevels Message logged at FINEST level [" + i + "]";
logWriter.finest(FINEST_STRING);
assertFalse(fileContainsString(logFile, FINEST_STRING));
i++;
final String FINER_STRING = "testLogLevels Message logged at FINER level [" + i + "]";
logWriter.finer(FINER_STRING);
assertFalse(fileContainsString(logFile, FINER_STRING));
i++;
final String FINE_STRING = "testLogLevels Message logged at FINE level [" + i + "]";
logWriter.fine(FINE_STRING);
assertFalse(fileContainsString(logFile, FINE_STRING));
i++;
final String CONFIG_STRING = "testLogLevels Message logged at CONFIG level [" + i + "]";
logWriter.config(CONFIG_STRING);
assertFalse(fileContainsString(logFile, CONFIG_STRING));
i++;
final String INFO_STRING = "testLogLevels Message logged at INFO level [" + i + "]";
logWriter.info(INFO_STRING);
assertFalse(fileContainsString(logFile, INFO_STRING));
i++;
final String WARNING_STRING = "ExpectedStrings: testLogLevels Message logged at WARNING level [" + i + "]";
logWriter.warning(WARNING_STRING);
assertFalse(fileContainsString(logFile, WARNING_STRING));
i++;
final String ERROR_STRING = "ExpectedStrings: testLogLevels Message logged at ERROR level [" + i + "]";
logWriter.error(ERROR_STRING);
assertTrue(fileContainsString(logFile, ERROR_STRING));
i++;
final String SEVERE_STRING = "ExpectedStrings: testLogLevels Message logged at SEVERE level [" + i + "]";
logWriter.severe(SEVERE_STRING);
assertTrue(fileContainsString(logFile, SEVERE_STRING));
i++;
final String TRACE_STRING = "testLogLevels Message logged at TRACE level [" + i + "]";
logger.trace(TRACE_STRING);
assertFalse(fileContainsString(logFile, TRACE_STRING));
i++;
final String DEBUG_STRING = "testLogLevels Message logged at DEBUG level [" + i + "]";
logger.debug(DEBUG_STRING);
assertFalse(fileContainsString(logFile, DEBUG_STRING));
i++;
final String INFO_STRING_J = "testLogLevels Message logged at INFO level [" + i + "]";
logger.info(INFO_STRING_J);
assertFalse(fileContainsString(logFile, INFO_STRING_J));
i++;
final String WARN_STRING = "ExpectedStrings: testLogLevels Message logged at WARN level [" + i + "]";
logger.warn(WARN_STRING);
assertFalse(fileContainsString(logFile, WARN_STRING));
i++;
final String ERROR_STRING_J = "ExpectedStrings: testLogLevels Message logged at ERROR level [" + i + "]";
logger.error(ERROR_STRING_J);
assertTrue(fileContainsString(logFile, ERROR_STRING_J));
i++;
final String FATAL_STRING = "ExpectedStrings: testLogLevels Message logged at FATAL level [" + i + "]";
logger.fatal(FATAL_STRING);
assertTrue(fileContainsString(logFile, FATAL_STRING));
}
this.system.disconnect();
this.system = null;
}
use of org.apache.geode.distributed.internal.InternalDistributedSystem in project geode by apache.
the class DistributedSystemLogFileJUnitTest method testDistributedSystemWithSecurityInfoLevelAndLogAtFineLevelButNoSecurityLog.
/**
* tests scenario where security log has not been set but a level has been set to a less granular
* level than that of the regular log. Verifies that the correct logs for security show up in the
* regular log as expected
*
* @throws Exception
*/
@Test
public void testDistributedSystemWithSecurityInfoLevelAndLogAtFineLevelButNoSecurityLog() throws Exception {
// final int port = AvailablePort.getRandomAvailablePort(AvailablePort.JGROUPS);
final String logFileName = name.getMethodName() + "-system-" + System.currentTimeMillis() + ".log";
final Properties properties = new Properties();
properties.put(LOG_FILE, logFileName);
properties.put(LOG_LEVEL, "fine");
properties.put(SECURITY_LOG_LEVEL, "info");
properties.put(MCAST_PORT, "0");
properties.put(LOCATORS, "");
properties.put(ENABLE_NETWORK_PARTITION_DETECTION, "false");
properties.put(DISABLE_AUTO_RECONNECT, "true");
properties.put(MEMBER_TIMEOUT, "2000");
properties.put(ENABLE_CLUSTER_CONFIGURATION, "false");
final File logFile = new File(logFileName);
if (logFile.exists()) {
logFile.delete();
}
assertFalse(logFile.exists());
this.system = DistributedSystem.connect(properties);
assertNotNull(this.system);
DistributionConfig config = ((InternalDistributedSystem) this.system).getConfig();
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.INFO_LEVEL) + " but was " + LogWriterImpl.levelToString(config.getLogLevel()), InternalLogWriter.INFO_LEVEL, config.getSecurityLogLevel());
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.FINE_LEVEL) + " but was " + LogWriterImpl.levelToString(config.getLogLevel()), InternalLogWriter.FINE_LEVEL, config.getLogLevel());
InternalLogWriter securityLogWriter = (InternalLogWriter) system.getSecurityLogWriter();
InternalLogWriter logWriter = (InternalLogWriter) system.getLogWriter();
assertNotNull(securityLogWriter);
assertNotNull(logWriter);
assertTrue(securityLogWriter instanceof LogWriterLogger);
assertTrue(logWriter instanceof LogWriterLogger);
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.INFO_LEVEL) + " but was " + LogWriterImpl.levelToString(securityLogWriter.getLogWriterLevel()), InternalLogWriter.INFO_LEVEL, securityLogWriter.getLogWriterLevel());
assertEquals("Expected " + LogWriterImpl.levelToString(InternalLogWriter.FINE_LEVEL) + " but was " + LogWriterImpl.levelToString(securityLogWriter.getLogWriterLevel()), InternalLogWriter.FINE_LEVEL, logWriter.getLogWriterLevel());
assertFalse(securityLogWriter.fineEnabled());
assertTrue(logWriter.fineEnabled());
assertFalse(((LogWriterLogger) securityLogWriter).isDebugEnabled());
assertTrue(((LogWriterLogger) logWriter).isDebugEnabled());
assertTrue(securityLogWriter instanceof FastLogger);
assertTrue(logWriter instanceof FastLogger);
assertTrue(((FastLogger) securityLogWriter).isDelegating());
assertTrue(((FastLogger) logWriter).isDelegating());
Wait.waitForCriterion(new WaitCriterion() {
@Override
public boolean done() {
return logFile.exists();
}
@Override
public String description() {
return "waiting for log files to exist: " + logFile;
}
}, TIMEOUT_MILLISECONDS, INTERVAL_MILLISECONDS, true);
assertTrue(logFile.exists());
final Logger logger = LogService.getLogger();
int i = 0;
{
i++;
final String FINEST_STRING = "testLogLevels Message logged at FINEST level [" + i + "]";
securityLogWriter.finest(FINEST_STRING);
assertFalse(fileContainsString(logFile, FINEST_STRING));
i++;
final String FINER_STRING = "testLogLevels Message logged at FINER level [" + i + "]";
securityLogWriter.finer(FINER_STRING);
assertFalse(fileContainsString(logFile, FINER_STRING));
i++;
final String FINE_STRING = "testLogLevels Message logged at FINE level [" + i + "]";
securityLogWriter.fine(FINE_STRING);
assertFalse(fileContainsString(logFile, FINE_STRING));
i++;
final String CONFIG_STRING = "testLogLevels Message logged at CONFIG level [" + i + "]";
securityLogWriter.config(CONFIG_STRING);
assertTrue(fileContainsString(logFile, CONFIG_STRING));
i++;
final String INFO_STRING = "testLogLevels Message logged at INFO level [" + i + "]";
securityLogWriter.info(INFO_STRING);
assertTrue(fileContainsString(logFile, INFO_STRING));
i++;
final String WARNING_STRING = "ExpectedStrings: testLogLevels Message logged at WARNING level [" + i + "]";
securityLogWriter.warning(WARNING_STRING);
assertTrue(fileContainsString(logFile, WARNING_STRING));
i++;
final String ERROR_STRING = "ExpectedStrings: testLogLevels Message logged at ERROR level [" + i + "]";
securityLogWriter.error(ERROR_STRING);
assertTrue(fileContainsString(logFile, ERROR_STRING));
i++;
final String SEVERE_STRING = "ExpectedStrings: testLogLevels Message logged at SEVERE level [" + i + "]";
securityLogWriter.severe(SEVERE_STRING);
assertTrue(fileContainsString(logFile, SEVERE_STRING));
i++;
final String TRACE_STRING = "testLogLevels Message logged at TRACE level [" + i + "]";
logger.trace(TRACE_STRING);
assertFalse(fileContainsString(logFile, TRACE_STRING));
i++;
final String DEBUG_STRING = "testLogLevels Message logged at DEBUG level [" + i + "]";
logger.debug(DEBUG_STRING);
assertTrue(fileContainsString(logFile, DEBUG_STRING));
i++;
final String INFO_STRING_J = "testLogLevels Message logged at INFO level [" + i + "]";
logger.info(INFO_STRING_J);
assertTrue(fileContainsString(logFile, INFO_STRING_J));
i++;
final String WARN_STRING = "ExpectedStrings: testLogLevels Message logged at WARN level [" + i + "]";
logger.warn(WARN_STRING);
assertTrue(fileContainsString(logFile, WARN_STRING));
i++;
final String ERROR_STRING_J = "ExpectedStrings: testLogLevels Message logged at ERROR level [" + i + "]";
logger.error(ERROR_STRING_J);
assertTrue(fileContainsString(logFile, ERROR_STRING_J));
i++;
final String FATAL_STRING = "ExpectedStrings: testLogLevels Message logged at FATAL level [" + i + "]";
logger.fatal(FATAL_STRING);
assertTrue(fileContainsString(logFile, FATAL_STRING));
}
this.system.disconnect();
this.system = null;
}
use of org.apache.geode.distributed.internal.InternalDistributedSystem in project geode by apache.
the class CacheManagementDUnitTest method verifyConfigData.
private Map<DistributedMember, DistributionConfig> verifyConfigData() {
ManagementService service = this.managementTestRule.getManagementService();
InternalDistributedSystem ids = (InternalDistributedSystem) this.managementTestRule.getCache().getDistributedSystem();
DistributionConfig config = ids.getConfig();
MemberMXBean bean = service.getMemberMXBean();
GemFireProperties data = bean.listGemFireProperties();
verifyGemFirePropertiesData(config, data);
Map<DistributedMember, DistributionConfig> configMap = new HashMap<>();
configMap.put(ids.getDistributedMember(), config);
return configMap;
}
use of org.apache.geode.distributed.internal.InternalDistributedSystem in project geode by apache.
the class ConfigCommandsDUnitTest method testDescribeConfig.
@Test
public void testDescribeConfig() throws Exception {
setUpJmxManagerOnVm0ThenConnect(null);
final String controllerName = "Member2";
/*
* Create properties for the controller VM
*/
final Properties localProps = new Properties();
localProps.setProperty(MCAST_PORT, "0");
localProps.setProperty(LOG_LEVEL, "info");
localProps.setProperty(STATISTIC_SAMPLING_ENABLED, "true");
localProps.setProperty(ENABLE_TIME_STATISTICS, "true");
localProps.setProperty(NAME, controllerName);
localProps.setProperty(GROUPS, "G1");
getSystem(localProps);
Cache cache = getCache();
int[] ports = getRandomAvailableTCPPorts(1);
CacheServer cs = getCache().addCacheServer();
cs.setPort(ports[0]);
cs.setMaxThreads(10);
cs.setMaxConnections(9);
cs.start();
try {
RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean();
List<String> jvmArgs = runtimeBean.getInputArguments();
getLogWriter().info("#SB Actual JVM Args : ");
for (String jvmArg : jvmArgs) {
getLogWriter().info("#SB JVM " + jvmArg);
}
InternalDistributedSystem system = (InternalDistributedSystem) cache.getDistributedSystem();
DistributionConfig config = system.getConfig();
config.setArchiveFileSizeLimit(1000);
String command = CliStrings.DESCRIBE_CONFIG + " --member=" + controllerName;
CommandProcessor cmdProcessor = new CommandProcessor();
cmdProcessor.createCommandStatement(command, Collections.EMPTY_MAP).process();
CommandResult cmdResult = executeCommand(command);
String resultStr = commandResultToString(cmdResult);
getLogWriter().info("#SB Hiding the defaults\n" + resultStr);
assertEquals(true, cmdResult.getStatus().equals(Status.OK));
assertEquals(true, resultStr.contains("G1"));
assertEquals(true, resultStr.contains(controllerName));
assertEquals(true, resultStr.contains(ARCHIVE_FILE_SIZE_LIMIT));
assertEquals(true, !resultStr.contains("copy-on-read"));
cmdResult = executeCommand(command + " --" + CliStrings.DESCRIBE_CONFIG__HIDE__DEFAULTS + "=false");
resultStr = commandResultToString(cmdResult);
getLogWriter().info("#SB No hiding of defaults\n" + resultStr);
assertEquals(true, cmdResult.getStatus().equals(Status.OK));
assertEquals(true, resultStr.contains("is-server"));
assertEquals(true, resultStr.contains(controllerName));
assertEquals(true, resultStr.contains("copy-on-read"));
} finally {
cs.stop();
}
}
use of org.apache.geode.distributed.internal.InternalDistributedSystem in project geode by apache.
the class ReconnectDUnitTest method postSetUp.
@Override
public final void postSetUp() throws Exception {
locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
final int locPort = locatorPort;
Host.getHost(0).getVM(locatorVMNumber).invoke(new SerializableRunnable("start locator") {
public void run() {
try {
InternalDistributedSystem ds = InternalDistributedSystem.getConnectedInstance();
if (ds != null) {
ds.disconnect();
}
dsProperties = null;
locatorPort = locPort;
Properties props = getDistributedSystemProperties();
locator = Locator.startLocatorAndDS(locatorPort, new File(""), props);
ReconnectDUnitTest.savedSystem = InternalDistributedSystem.getConnectedInstance();
IgnoredException.addIgnoredException("org.apache.geode.ForcedDisconnectException||Possible loss of quorum");
// MembershipManagerHelper.getMembershipManager(InternalDistributedSystem.getConnectedInstance()).setDebugJGroups(true);
} catch (IOException e) {
Assert.fail("unable to start locator", e);
}
}
});
SerializableRunnable setDistributedSystemProperties = new SerializableRunnable("set distributed system properties") {
public void run() {
dsProperties = null;
locatorPort = locPort;
getDistributedSystemProperties();
}
};
setDistributedSystemProperties.run();
Invoke.invokeInEveryVM(setDistributedSystemProperties);
beginCacheXml();
createRegion("myRegion", createAtts());
finishCacheXml("MyDisconnect");
// Cache cache = getCache();
closeCache();
getSystem().disconnect();
LogWriterUtils.getLogWriter().fine("Cache Closed ");
}
Aggregations