You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by up...@apache.org on 2017/09/29 18:49:21 UTC

[geode] branch develop updated: GEODE-3613: Dumping container logs files in session replication tests

This is an automated email from the ASF dual-hosted git repository.

upthewaterspout pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new dcb7af0  GEODE-3613: Dumping container logs files in session replication tests
dcb7af0 is described below

commit dcb7af0ba73ced879446ca061495d3dd995ebeba
Author: Dan Smith <up...@apache.org>
AuthorDate: Wed Sep 27 16:44:04 2017 -0700

    GEODE-3613: Dumping container logs files in session replication tests
    
    The session replication tests were generating logs files that were
    getting deleted. In order to debug issues with the session state tests
    we need to information in the log files to show up in the test output.
---
 .../apache/geode/session/tests/CargoTestBase.java  |  1 +
 .../geode/session/tests/ContainerManager.java      |  6 +++++
 .../geode/session/tests/ServerContainer.java       | 29 +++++++++++++++++++---
 3 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/geode-assembly/src/test/java/org/apache/geode/session/tests/CargoTestBase.java b/geode-assembly/src/test/java/org/apache/geode/session/tests/CargoTestBase.java
index 5dcdd6a..42bf92c 100644
--- a/geode-assembly/src/test/java/org/apache/geode/session/tests/CargoTestBase.java
+++ b/geode-assembly/src/test/java/org/apache/geode/session/tests/CargoTestBase.java
@@ -68,6 +68,7 @@ public abstract class CargoTestBase extends JUnit4CacheTestCase {
    */
   @After
   public void stop() throws IOException {
+    manager.dumpLogs();
     manager.stopAllActiveContainers();
     manager.cleanUp();
   }
diff --git a/geode-assembly/src/test/java/org/apache/geode/session/tests/ContainerManager.java b/geode-assembly/src/test/java/org/apache/geode/session/tests/ContainerManager.java
index 036c6a5..304cedd 100644
--- a/geode-assembly/src/test/java/org/apache/geode/session/tests/ContainerManager.java
+++ b/geode-assembly/src/test/java/org/apache/geode/session/tests/ContainerManager.java
@@ -122,6 +122,12 @@ public class ContainerManager {
     stopContainers(getActiveContainerIndexes());
   }
 
+  public void dumpLogs() throws IOException {
+    for (ServerContainer container : getActiveContainers()) {
+      container.dumpLogs();
+    }
+  }
+
   /**
    * Set the name of the current test
    *
diff --git a/geode-assembly/src/test/java/org/apache/geode/session/tests/ServerContainer.java b/geode-assembly/src/test/java/org/apache/geode/session/tests/ServerContainer.java
index 3434180..a1b36fa 100644
--- a/geode-assembly/src/test/java/org/apache/geode/session/tests/ServerContainer.java
+++ b/geode-assembly/src/test/java/org/apache/geode/session/tests/ServerContainer.java
@@ -27,6 +27,7 @@ import org.codehaus.cargo.container.State;
 import org.codehaus.cargo.container.configuration.ConfigurationType;
 import org.codehaus.cargo.container.configuration.LocalConfiguration;
 import org.codehaus.cargo.container.deployable.WAR;
+import org.codehaus.cargo.container.jetty.JettyPropertySet;
 import org.codehaus.cargo.container.property.GeneralPropertySet;
 import org.codehaus.cargo.container.property.LoggingLevel;
 import org.codehaus.cargo.container.property.ServletPropertySet;
@@ -47,6 +48,7 @@ import org.apache.geode.internal.logging.LogService;
  * Subclasses provide setup and configuration of specific containers.
  */
 public abstract class ServerContainer {
+  private final File containerConfigHome;
   private InstalledLocalContainer container;
   private ContainerInstall install;
 
@@ -66,7 +68,7 @@ public abstract class ServerContainer {
 
   public final String DEFAULT_CONF_DIR;
 
-  public static final String DEFAULT_LOGGING_LEVEL = LoggingLevel.HIGH.getLevel();
+  public static final String DEFAULT_LOGGING_LEVEL = LoggingLevel.LOW.getLevel();
   public static final String DEFAULT_LOG_DIR = "cargo_logs/";
   public static final String DEFAULT_CONFIG_DIR = "/tmp/cargo_configs/";
 
@@ -99,8 +101,8 @@ public abstract class ServerContainer {
 
     DEFAULT_CONF_DIR = install.getHome() + "/conf/";
     // Use the default configuration home path if not passed a config home
-    if (containerConfigHome == null)
-      containerConfigHome = new File(DEFAULT_CONFIG_DIR + description);
+    this.containerConfigHome = containerConfigHome == null
+        ? new File(DEFAULT_CONFIG_DIR + description) : containerConfigHome;
 
     // Init the property lists
     cacheProperties = new HashMap<>();
@@ -111,7 +113,7 @@ public abstract class ServerContainer {
     // Create the Cargo Container instance wrapping our physical container
     LocalConfiguration configuration = (LocalConfiguration) new DefaultConfigurationFactory()
         .createConfiguration(install.getInstallId(), ContainerType.INSTALLED,
-            ConfigurationType.STANDALONE, containerConfigHome.getAbsolutePath());
+            ConfigurationType.STANDALONE, this.containerConfigHome.getAbsolutePath());
     // Set configuration/container logging level
     configuration.setProperty(GeneralPropertySet.LOGGING, loggingLevel);
     // Removes secureRandom generation so that container startup is much faster
@@ -210,6 +212,25 @@ public abstract class ServerContainer {
     container.stop();
   }
 
+  public void dumpLogs() throws IOException {
+    for (File file : logDir.listFiles()) {
+      dumpToStdOut(file);
+    }
+
+    for (File file : new File(containerConfigHome, "logs").listFiles()) {
+      dumpToStdOut(file);
+    }
+  }
+
+  private void dumpToStdOut(final File file) throws IOException {
+    System.out.println("-------------------------------------------");
+    System.out.println(file.getAbsolutePath());
+    System.out.println("-------------------------------------------");
+    FileUtils.copyFile(file, System.out);
+    System.out.println("-------------------------------------------");
+    System.out.println("");
+  }
+
   /**
    * Copies the container configuration (found through {@link #getConfiguration()}) to the logging
    * directory specified by {@link #logDir}

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].