Hi,
I'm updating my Solr from version 3.4 to version 3.6.1 and I'm facing a little problem with the DIH.

In the delta-import I'm using the /parentDeltaQuery/ feature of the DIH to update the parent entity.
I don't think this is working properly.

I realized that it's just executing the /parentDeltaQuery/ with the first record of the /deltaQuery /result. Comparing the code with the previous versions I noticed that the rowIterator was never set to null.

To solve this I wrote a simple patch:

-----------------------------
Index: solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/EntityProcessorBase.java
===================================================================
--- solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/EntityProcessorBase.java (revision 31454) +++ solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/EntityProcessorBase.java (working copy)
@@ -121,6 +121,7 @@
         if (rowIterator.hasNext())
           return rowIterator.next();
         query = null;
+        rowIterator = null;
         return null;
       } catch (Exception e) {
SolrException.log(log, "getNext() failed for query '" + query + "'", e);
-----------------------------


Do you think this is correct?

Thanks for your help

--
Gian Marco Tagliani



Reply via email to