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 sh...@apache.org on 2009/02/06 21:02:49 UTC

svn commit: r741698 - in /lucene/solr/trunk/contrib/dataimporthandler: ./ src/main/java/org/apache/solr/handler/dataimport/

Author: shalin
Date: Fri Feb  6 20:02:48 2009
New Revision: 741698

URL: http://svn.apache.org/viewvc?rev=741698&view=rev
Log:
SOLR-989 -- Expose running statistics from the Context API.

Modified:
    lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt
    lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/AbstractDataImportHandlerTest.java
    lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
    lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
    lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java

Modified: lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt?rev=741698&r1=741697&r2=741698&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt Fri Feb  6 20:02:48 2009
@@ -66,6 +66,9 @@
               and NumberFormatTransformer.
               (Fergus McMenemie, Noble Paul, shalin)
 
+16.SOLR-989:  Expose running statistics from the Context API.
+              (Noble Paul, shalin)
+
 Optimizations
 ----------------------
 1. SOLR-846:  Reduce memory consumption during delta import by removing keys when used

Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/AbstractDataImportHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/AbstractDataImportHandlerTest.java?rev=741698&r1=741697&r2=741698&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/AbstractDataImportHandlerTest.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/AbstractDataImportHandlerTest.java Fri Feb  6 20:02:48 2009
@@ -139,6 +139,10 @@
       public SolrCore getSolrCore() {
         return delegate.getSolrCore();
       }
+
+      public Map<String, Object> getStats() {
+        return delegate.getStats();
+      }
     };
   }
 

Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java?rev=741698&r1=741697&r2=741698&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java Fri Feb  6 20:02:48 2009
@@ -58,7 +58,7 @@
 
   /**
    * An object stored in 'solrcore' scope is available across imports, entities and documents throughout the life of
-   * a solr core. A solr core unload or reload will destroy this data. 
+   * a solr core. A solr core unload or reload will destroy this data.
    */
   public static final String SCOPE_SOLR_CORE = "solrcore";
 
@@ -102,7 +102,7 @@
   /**
    * Gets a new DataSource instance with a name. Ensure that you close() this after use
    * because this is created just for this method call.
-   *  
+   *
    * @param name Name of the dataSource as defined in the dataSource tag
    * @return a new DataSource instance
    * @see org.apache.solr.handler.dataimport.DataSource
@@ -172,4 +172,12 @@
    * @return the core
    */
   public abstract SolrCore getSolrCore();
+
+  /**
+   * Makes available some basic running statistics such as "docCount",
+   * "deletedDocCount", "rowCount", "queryCount" and "skipDocCount"
+   *
+   * @return a Map containing running statistics of the current import
+   */
+  public abstract Map<String, Object> getStats();
 }

Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java?rev=741698&r1=741697&r2=741698&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java Fri Feb  6 20:02:48 2009
@@ -174,4 +174,9 @@
   public SolrCore getSolrCore() {
     return dataImporter == null ? null : dataImporter.getCore();
   }
+
+
+  public Map<String, Object> getStats() {
+    return docBuilder != null ? docBuilder.importStatistics.getStatsSnapshot() : Collections.<String, Object>emptyMap();
+  }
 }

Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java?rev=741698&r1=741697&r2=741698&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java Fri Feb  6 20:02:48 2009
@@ -637,9 +637,9 @@
   }
 
   public static class Statistics {
-    public AtomicInteger docCount = new AtomicInteger();
+    public AtomicLong docCount = new AtomicLong();
 
-    public AtomicInteger deletedDocCount = new AtomicInteger();
+    public AtomicLong deletedDocCount = new AtomicLong();
 
     public AtomicLong rowsCount = new AtomicLong();
 
@@ -655,6 +655,17 @@
 
       return this;
     }
+
+    public Map<String, Object> getStatsSnapshot() {
+      Map<String, Object> result = new HashMap<String, Object>();
+      result.put("docCount",docCount.get());
+      result.put("deletedDocCount",deletedDocCount.get());
+      result.put("rowCount",rowsCount.get());
+      result.put("queryCount",rowsCount.get());
+      result.put("skipDocCount",skipDocCount.get());
+      return result;
+    }
+
   }
 
   private void cleanByQuery(String delQuery, AtomicBoolean completeCleanDone) {