You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ot...@apache.org on 2008/05/22 04:12:51 UTC

svn commit: r658977 - in /lucene/solr/trunk: CHANGES.txt src/java/org/apache/solr/handler/RequestHandlerBase.java

Author: otis
Date: Wed May 21 19:12:50 2008
New Revision: 658977

URL: http://svn.apache.org/viewvc?rev=658977&view=rev
Log:
SOLR-539: Fix for non-atomic long counters and a cast fix to avoid divide by zero

Modified:
    lucene/solr/trunk/CHANGES.txt
    lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java

Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=658977&r1=658976&r2=658977&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Wed May 21 19:12:50 2008
@@ -404,6 +404,9 @@
     been added for people who have come to depend on the existing
     broken behavior. (hossman)
 
+30. SOLR-539: Fix for non-atomic long counters and a cast fix to avoid divide
+    by zero. (Sean Timm via Otis Gospodnetic)
+
 Other Changes
  1. SOLR-135: Moved common classes to org.apache.solr.common and altered the
     build scripts to make two jars: apache-solr-1.3.jar and 

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java?rev=658977&r1=658976&r2=658977&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java Wed May 21 19:12:50 2008
@@ -39,13 +39,13 @@
   // statistics
   // TODO: should we bother synchronizing these, or is an off-by-one error
   // acceptable every million requests or so?
-  long numRequests;
-  long numErrors;
+  volatile long numRequests;
+  volatile long numErrors;
   protected NamedList initArgs = null;
   protected SolrParams defaults;
   protected SolrParams appends;
   protected SolrParams invariants;
-  long totalTime = 0;
+  volatile long totalTime = 0;
   long handlerStart = System.currentTimeMillis();
 
   /** shorten the class references for utilities */
@@ -159,7 +159,7 @@
     lst.add("requests", numRequests);
     lst.add("errors", numErrors);
     lst.add("avgTimePerRequest", (float) totalTime / (float) this.numRequests);
-    lst.add("avgRequestsPerSecond", (float) numRequests*1000 / ((float)System.currentTimeMillis()-handlerStart));   
+    lst.add("avgRequestsPerSecond", (float) numRequests*1000 / (float)(System.currentTimeMillis()-handlerStart));   
     return lst;
   }