Author: fschumacher
Date: Tue Oct 20 18:53:49 2015
New Revision: 1709663

URL: http://svn.apache.org/viewvc?rev=1709663&view=rev
Log:
Another followup to r1708687. QueryStats which have never been updated,
should be sorted as newest ones. Thanks for kfujino for pointing it out.

Modified:
    
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
    
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java

Modified: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=1709663&r1=1709662&r2=1709663&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
 Tue Oct 20 18:53:49 2015
@@ -471,12 +471,22 @@ public class SlowQueryReport extends Abs
         }
     }
 
+    /** Compare QueryStats by their lastInvocation value. QueryStats that
+     * have never been updated, have a lastInvocation value of {@code 0}
+     * which should be handled as the newest possible invocation.
+     */
     private static class QueryStatsComparator implements 
Comparator<QueryStats> {
 
         @Override
         public int compare(QueryStats stats1, QueryStats stats2) {
-            return Long.compare(stats1.lastInvocation, stats2.lastInvocation);
+            return Long.compare(handleZero(stats1.lastInvocation),
+                    handleZero(stats2.lastInvocation));
         }
+
+        private long handleZero(long value) {
+            return value == 0 ? Long.MAX_VALUE : value;
+        }
+
     }
 
 }

Modified: 
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java?rev=1709663&r1=1709662&r2=1709663&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
 Tue Oct 20 18:53:49 2015
@@ -90,8 +90,8 @@ public class TestSlowQueryComparator {
         QueryStats q1 = new QueryStats("abc");
         QueryStats q2 = new QueryStats("def");
         q2.add(0, 100);
-        Assert.assertEquals(-1, queryStatsComparator.compare(q1, q2));
-        Assert.assertEquals(1, queryStatsComparator.compare(q2, q1));
+        Assert.assertEquals(1, queryStatsComparator.compare(q1, q2));
+        Assert.assertEquals(-1, queryStatsComparator.compare(q2, q1));
     }
 
     @Test



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to