You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2017/11/14 21:35:09 UTC

svn commit: r1815270 - /jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java

Author: pmouawad
Date: Tue Nov 14 21:35:09 2017
New Revision: 1815270

URL: http://svn.apache.org/viewvc?rev=1815270&view=rev
Log:
Remove OOM catch
Comment empty block
Secure closing
Remove outdated TODO

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java?rev=1815270&r1=1815269&r2=1815270&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java Tue Nov 14 21:35:09 2017
@@ -397,9 +397,8 @@ public class ResultCollector extends Abs
                         }
                     }
                 }
-            } catch (IOException | JMeterError | RuntimeException | OutOfMemoryError e) {
-                // FIXME Why do we catch OOM ?
-                log.warn("Problem reading JTL file: {}", file);
+            } catch (IOException | JMeterError | RuntimeException e) {
+                log.warn("Problem reading JTL file: {}", file, e);
             } finally {
                 if (!parsedOK) {
                     GuiPackage.showErrorMessage(
@@ -500,7 +499,7 @@ public class ResultCollector extends Abs
             if (len < MIN_XML_FILE_LEN) {
                 return false;
             }
-            raf.seek(len - TESTRESULTS_END.length() - 10);// TODO: may not work on all OSes?
+            raf.seek(len - TESTRESULTS_END.length() - 10);
             String line;
             long pos = raf.getFilePointer();
             int end = 0;
@@ -531,10 +530,12 @@ public class ResultCollector extends Abs
 
     @Override
     public void sampleStarted(SampleEvent e) {
+        // NOOP
     }
 
     @Override
     public void sampleStopped(SampleEvent e) {
+        // NOOP
     }
 
     /**
@@ -600,11 +601,9 @@ public class ResultCollector extends Abs
      * Flush PrintWriter, called by Shutdown Hook to ensure no data is lost
      */
     private static void flushFileOutput() {
-        String key;
-        ResultCollector.FileEntry value;
         for(Map.Entry<String, ResultCollector.FileEntry> me : files.entrySet()) {
-            key = me.getKey();
-            value = me.getValue();
+            String key = me.getKey();
+            ResultCollector.FileEntry value = me.getValue();
             log.debug("Flushing: {}", key);
             value.pw.flush();
             if (value.pw.checkError()){
@@ -614,16 +613,18 @@ public class ResultCollector extends Abs
     }
     
     private void finalizeFileOutput() {
-        String key;
-        ResultCollector.FileEntry value;
         for(Map.Entry<String, ResultCollector.FileEntry> me : files.entrySet()) {
-            key = me.getKey();
-            value = me.getValue();
-            log.debug("Closing: {}", key);
-            writeFileEnd(value.pw, value.config);
-            value.pw.close();
-            if (value.pw.checkError()){
-                log.warn("Problem detected during use of {}", key);
+            String key = me.getKey();
+            ResultCollector.FileEntry value = me.getValue();
+            try {
+                log.debug("Closing: {}", key);
+                writeFileEnd(value.pw, value.config);
+                value.pw.close();
+                if (value.pw.checkError()){
+                    log.warn("Problem detected during use of {}", key);
+                }
+            } catch(Exception ex) {
+                log.error("Error closing file {}", key, ex);
             }
         }
         files.clear();
@@ -655,5 +656,6 @@ public class ResultCollector extends Abs
     // can find the Clearable nodes - the userObject has to implement the interface.
     @Override
     public void clearData() {
+        // NOOP
     }
 }