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 2008/11/17 09:26:29 UTC

svn commit: r718187 - in /lucene/solr/trunk/contrib/dataimporthandler: CHANGES.txt src/main/java/org/apache/solr/handler/dataimport/DataImporter.java src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java

Author: shalin
Date: Mon Nov 17 00:26:29 2008
New Revision: 718187

URL: http://svn.apache.org/viewvc?rev=718187&view=rev
Log:
SOLR-864 -- DataImportHandler does not catch and log Errors

Modified:
    lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt
    lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.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=718187&r1=718186&r2=718187&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt Mon Nov 17 00:26:29 2008
@@ -56,6 +56,8 @@
 6. SOLR-838:  The VariableResolver obtained from a DataSource's context does not have current data.
               (Noble Paul via shalin)
 
+7. SOLR-864:  DataImportHandler does not catch and log Errors (shalin)
+
 Documentation
 ----------------------
 

Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java?rev=718187&r1=718186&r2=718187&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java Mon Nov 17 00:26:29 2008
@@ -337,8 +337,8 @@
       docBuilder.execute(getConfig().documents.get(0).name);
       if (!requestParams.debug)
         cumulativeStatistics.add(docBuilder.importStatistics);
-    } catch (RuntimeException e) {
-      LOG.error("Full Import failed", e);
+    } catch (Throwable t) {
+      LOG.error("Full Import failed", t);
     } finally {
       setStatus(Status.IDLE);
       config.clearCaches();
@@ -360,8 +360,8 @@
       docBuilder.execute(config.documents.get(0).name);
       if (!requestParams.debug)
         cumulativeStatistics.add(docBuilder.importStatistics);
-    } catch (RuntimeException e) {
-      LOG.error("Delta Import Failed", e);
+    } catch (Throwable t) {
+      LOG.error("Delta Import Failed", t);
     } finally {
       setStatus(Status.IDLE);
       config.clearCaches();

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=718187&r1=718186&r2=718187&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 Mon Nov 17 00:26:29 2008
@@ -29,11 +29,8 @@
 import java.util.concurrent.atomic.AtomicLong;
 
 /**
- * <p>
- * DocBuilder is responsible for creating Solr documents out of the given
- * configuration. It also maintains statistics information. It depends on the
- * EntityProcessor implementations to fetch data.
- * </p>
+ * <p> DocBuilder is responsible for creating Solr documents out of the given configuration. It also maintains
+ * statistics information. It depends on the EntityProcessor implementations to fetch data. </p>
  * <p/>
  * <b>This API is experimental and subject to change</b>
  *
@@ -335,6 +332,11 @@
               throw e;
           } else
             throw e;
+        } catch (Throwable t) {
+          if (verboseDebug) {
+            writer.log(SolrWriter.ENTITY_EXCEPTION, entity.name, t);
+          }
+          throw new DataImportHandlerException(DataImportHandlerException.SEVERE, t);
         } finally {
           if (verboseDebug) {
             writer.log(SolrWriter.ROW_END, entity.name, null);
@@ -431,18 +433,11 @@
   }
 
   /**
-   * <p>
-   * Collects unique keys of all Solr documents for whom one or more source
-   * tables have been changed since the last indexed time.
-   * </p>
-   * <p>
-   * Note: In our definition, unique key of Solr document is the primary key of
-   * the top level entity (unless skipped using docRoot=false) in the Solr
-   * document in data-config.xml
-   * </p>
+   * <p> Collects unique keys of all Solr documents for whom one or more source tables have been changed since the last
+   * indexed time. </p> <p> Note: In our definition, unique key of Solr document is the primary key of the top level
+   * entity (unless skipped using docRoot=false) in the Solr document in data-config.xml </p>
    *
-   * @return an iterator to the list of keys for which Solr documents should be
-   *         updated.
+   * @return an iterator to the list of keys for which Solr documents should be updated.
    */
   @SuppressWarnings("unchecked")
   public Set<Map<String, Object>> collectDelta(DataConfig.Entity entity,