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: [email protected]
For additional commands, e-mail: [email protected]