You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2015/08/11 10:32:20 UTC

svn commit: r1695226 - in /qpid/java/trunk/broker-core/src: main/java/org/apache/qpid/server/logging/ test/java/org/apache/qpid/server/logging/

Author: orudyy
Date: Tue Aug 11 08:32:20 2015
New Revision: 1695226

URL: http://svn.apache.org/r1695226
Log:
QPID-6687: Fix NPE on stopping logging for Broker and VirtualHost file loggers in ERRORED state

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerFileLoggerImpl.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/VirtualHostFileLoggerImpl.java
    qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/BrokerFileLoggerTest.java
    qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/VirtualHostLoggerTest.java

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerFileLoggerImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerFileLoggerImpl.java?rev=1695226&r1=1695225&r2=1695226&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerFileLoggerImpl.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerFileLoggerImpl.java Tue Aug 11 08:32:20 2015
@@ -192,7 +192,10 @@ public class BrokerFileLoggerImpl extend
     public void stopLogging()
     {
         super.stopLogging();
-        _rolledPolicyExecutor.shutdown();
+        if (_rolledPolicyExecutor != null)
+        {
+            _rolledPolicyExecutor.shutdown();
+        }
     }
 
     @Override

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/VirtualHostFileLoggerImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/VirtualHostFileLoggerImpl.java?rev=1695226&r1=1695225&r2=1695226&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/VirtualHostFileLoggerImpl.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/VirtualHostFileLoggerImpl.java Tue Aug 11 08:32:20 2015
@@ -182,7 +182,10 @@ public class VirtualHostFileLoggerImpl e
     public void stopLogging()
     {
         super.stopLogging();
-        _rolledPolicyExecutor.shutdown();
+        if (_rolledPolicyExecutor != null)
+        {
+            _rolledPolicyExecutor.shutdown();
+        }
     }
 
     @Override

Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/BrokerFileLoggerTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/BrokerFileLoggerTest.java?rev=1695226&r1=1695225&r2=1695226&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/BrokerFileLoggerTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/BrokerFileLoggerTest.java Tue Aug 11 08:32:20 2015
@@ -25,8 +25,8 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.io.File;
-import java.util.Collection;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
@@ -48,6 +48,7 @@ public class BrokerFileLoggerTest extend
     private File _baseFolder;
     private File _logFile;
     private Broker _broker;
+    private BrokerFileLogger<?> _logger;
 
     @Override
     public void setUp() throws Exception
@@ -87,7 +88,11 @@ public class BrokerFileLoggerTest extend
     {
         try
         {
-            _broker.close();
+            if (_logger != null)
+            {
+                _logger.close();
+                _logger.stopLogging();
+            }
             _taskExecutor.stopImmediately();
             if (_baseFolder != null && _baseFolder.exists())
             {
@@ -102,6 +107,14 @@ public class BrokerFileLoggerTest extend
 
     public void testGetLogFilesOnResolutionErrors()
     {
+        _logger = createLoggerInErroredState();
+
+        List<LogFileDetails> logFileDetails = _logger.getLogFiles();
+        assertTrue("File details should be empty", logFileDetails.isEmpty());
+    }
+
+    private BrokerFileLogger createLoggerInErroredState()
+    {
         Map<String, Object> attributes = new HashMap<>();
         attributes.put(BrokerLogger.NAME, getTestName());
         attributes.put(ConfiguredObject.TYPE, BrokerFileLogger.TYPE);
@@ -112,9 +125,7 @@ public class BrokerFileLoggerTest extend
         logger.open();
 
         assertEquals("Unexpected state", State.ERRORED, logger.getState());
-
-        Collection<LogFileDetails> logFileDetails = logger.getLogFiles();
-        assertTrue("File details should be empty", logFileDetails.isEmpty());
+        return logger;
     }
 
 }

Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/VirtualHostLoggerTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/VirtualHostLoggerTest.java?rev=1695226&r1=1695225&r2=1695226&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/VirtualHostLoggerTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/VirtualHostLoggerTest.java Tue Aug 11 08:32:20 2015
@@ -205,6 +205,20 @@ public class VirtualHostLoggerTest  exte
 
     public void testGetLogFilesOnResolutionErrors()
     {
+        VirtualHostFileLogger logger = createErrorredLogger();
+
+        Collection<LogFileDetails> logFileDetails = logger.getLogFiles();
+        assertTrue("File details should be empty", logFileDetails.isEmpty());
+    }
+
+    public void testStopLoggingLoggerInErroredState()
+    {
+        VirtualHostFileLogger logger = createErrorredLogger();
+        logger.stopLogging();
+    }
+
+    private VirtualHostFileLogger createErrorredLogger()
+    {
         Map<String, Object> attributes = new HashMap<>();
         attributes.put(VirtualHostLogger.NAME, getTestName());
         attributes.put(ConfiguredObject.TYPE, VirtualHostFileLogger.TYPE);
@@ -215,9 +229,7 @@ public class VirtualHostLoggerTest  exte
         logger.open();
 
         assertEquals("Unexpected state", State.ERRORED, logger.getState());
-
-        Collection<LogFileDetails> logFileDetails = logger.getLogFiles();
-        assertTrue("File details should be empty", logFileDetails.isEmpty());
+        return logger;
     }
 
     private VirtualHostLogger createVirtualHostLogger()



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org