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