You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2013/01/11 14:40:36 UTC

svn commit: r1432048 - in /lucene/dev/branches/branch_4x: ./ solr/ solr/contrib/ solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ solr/contrib/dataimporthandler/src/test-files/dih/solr/collection1/conf/ solr/contrib/dataimpor...

Author: shalin
Date: Fri Jan 11 13:40:35 2013
New Revision: 1432048

URL: http://svn.apache.org/viewvc?rev=1432048&view=rev
Log:
SOLR-4112: Fixed DataImportHandler ZKAwarePropertiesWriter implementation so import works fine with SolrCloud clusters

Added:
    lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
      - copied unchanged from r1432045, lucene/dev/trunk/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/solr/   (props changed)
    lucene/dev/branches/branch_4x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/solr/contrib/   (props changed)
    lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java
    lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ZKPropertiesWriter.java
    lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test-files/dih/solr/collection1/conf/dataimport-schema.xml
    lucene/dev/branches/branch_4x/solr/test-framework/   (props changed)
    lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractZkTestCase.java

Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1432048&r1=1432047&r2=1432048&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Fri Jan 11 13:40:35 2013
@@ -476,6 +476,10 @@ Bug Fixes
 
 * SOLR-3876: Solr Admin UI is completely dysfunctional on IE 9 (steffkes)
 
+* SOLR-4112: Fixed DataImportHandler ZKAwarePropertiesWriter implementation so
+  import works fine with SolrCloud clusters (Deniz Durmus, James Dyer,
+  Erick Erickson, shalin)
+
 Other Changes
 ----------------------
 

Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java?rev=1432048&r1=1432047&r2=1432048&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java Fri Jan 11 13:40:35 2013
@@ -84,12 +84,7 @@ public class SimplePropertiesWriter exte
     } else {
       filename = "dataimport.properties";
     }
-    if(params.get(DIRECTORY) != null) {
-      configDir = params.get(DIRECTORY);
-    } else {
-      SolrCore core = dataImporter.getCore();
-      configDir = (core == null ? "." : core.getResourceLoader().getConfigDir());
-    }
+    findDirectory(dataImporter, params);
     if(params.get(LOCALE) != null) {
       String localeStr = params.get(LOCALE);
       for (Locale l : Locale.getAvailableLocales()) {
@@ -109,6 +104,14 @@ public class SimplePropertiesWriter exte
     } else {
       dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", locale);
     }    
+  }  
+  protected void findDirectory(DataImporter dataImporter, Map<String, String> params) {
+    if(params.get(DIRECTORY) != null) {
+      configDir = params.get(DIRECTORY);
+    } else {
+      SolrCore core = dataImporter.getCore();
+      configDir = (core == null ? "." : core.getResourceLoader().getConfigDir());
+    }
   }
   
   private File getPersistFile() {

Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ZKPropertiesWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ZKPropertiesWriter.java?rev=1432048&r1=1432047&r2=1432048&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ZKPropertiesWriter.java (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ZKPropertiesWriter.java Fri Jan 11 13:40:35 2013
@@ -42,12 +42,16 @@ public class ZKPropertiesWriter extends 
   
   @Override
   public void init(DataImporter dataImporter, Map<String, String> params) {
-    super.init(dataImporter, params);
+    super.init(dataImporter, params);    
+    zkClient = dataImporter.getCore().getCoreDescriptor().getCoreContainer()
+        .getZkController().getZkClient();
+  }
+  
+  @Override
+  protected void findDirectory(DataImporter dataImporter, Map<String, String> params) {
     String collection = dataImporter.getCore().getCoreDescriptor()
         .getCloudDescriptor().getCollectionName();
     path = "/configs/" + collection + "/" + filename;
-    zkClient = dataImporter.getCore().getCoreDescriptor().getCoreContainer()
-        .getZkController().getZkClient();
   }
   
   @Override

Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test-files/dih/solr/collection1/conf/dataimport-schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test-files/dih/solr/collection1/conf/dataimport-schema.xml?rev=1432048&r1=1432047&r2=1432048&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test-files/dih/solr/collection1/conf/dataimport-schema.xml (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test-files/dih/solr/collection1/conf/dataimport-schema.xml Fri Jan 11 13:40:35 2013
@@ -41,6 +41,8 @@
     <field name="COUNTRY_NAME" type="text" indexed="true" stored="true" multiValued="true" />
     <field name="SPORT_NAME" type="text" indexed="true" stored="true" multiValued="true" />
     <field name="DO_NOT_INDEX" type="ignored" />
+
+    <field name="_version_" type="tlong" indexed="true" stored="true" multiValued="false"/>
        
     <dynamicField name="*_i"       type="tint"    indexed="true"  stored="true"/>
     <dynamicField name="*_s"       type="string"  indexed="true"  stored="true"/>

Modified: lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractZkTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractZkTestCase.java?rev=1432048&r1=1432047&r2=1432048&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractZkTestCase.java (original)
+++ lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractZkTestCase.java Fri Jan 11 13:40:35 2013
@@ -84,7 +84,7 @@ public abstract class AbstractZkTestCase
   }
   
   // static to share with distrib test
-  static void buildZooKeeper(String zkHost, String zkAddress, File solrhome, String config,
+  public static void buildZooKeeper(String zkHost, String zkAddress, File solrhome, String config,
       String schema) throws Exception {
     SolrZkClient zkClient = new SolrZkClient(zkHost, AbstractZkTestCase.TIMEOUT);
     zkClient.makePath("/solr", false, true);