You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by th...@apache.org on 2014/12/24 19:32:22 UTC

svn commit: r1647825 - in /lucene/dev/trunk/solr: ./ core/src/java/org/apache/solr/rest/ example/example-DIH/ example/example-DIH/hsqldb/ example/example-DIH/solr/db/conf/ example/example-DIH/solr/mail/conf/ example/example-DIH/solr/rss/conf/ example/e...

Author: thelabdude
Date: Wed Dec 24 18:32:21 2014
New Revision: 1647825

URL: http://svn.apache.org/r1647825
Log:
SOLR-6855: bin/solr -e dih launches, but has some path cruft issues preventing some of the imports don't work

Removed:
    lucene/dev/trunk/solr/example/example-DIH/hsqldb/ex.log
    lucene/dev/trunk/solr/example/example-DIH/hsqldb/ex.properties
Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResource.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/RestManager.java
    lucene/dev/trunk/solr/example/example-DIH/README.txt
    lucene/dev/trunk/solr/example/example-DIH/hsqldb/   (props changed)
    lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/db-data-config.xml
    lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/schema.xml
    lucene/dev/trunk/solr/example/example-DIH/solr/mail/conf/schema.xml
    lucene/dev/trunk/solr/example/example-DIH/solr/rss/conf/schema.xml
    lucene/dev/trunk/solr/example/example-DIH/solr/solr/conf/schema.xml
    lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/schema.xml
    lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/tika-data-config.xml

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Wed Dec 24 18:32:21 2014
@@ -554,6 +554,9 @@ Other Changes
 
 * SOLR-6885: Add core name to RecoveryThread name. (Christine Poerschke via shalin)
 
+* SOLR-6855: bin/solr -e dih launches, but has some path cruft issues preventing some of the
+  imports don't work (Hossman, Timothy Potter)
+
 ==================  4.10.3 ==================
 
 Bug Fixes

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResource.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResource.java?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResource.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResource.java Wed Dec 24 18:32:21 2014
@@ -185,10 +185,22 @@ public abstract class ManagedResource {
           "Failed to load stored data for "+resourceId+" due to: "+ioExc, ioExc);
     }
 
-    Object managedData = null;    
+    Object managedData = processStoredData(data);
+
+    if (managedInitArgs == null)
+      managedInitArgs = new NamedList<>();
+
+    onManagedDataLoadedFromStorage(managedInitArgs, managedData);
+  }
+
+  /**
+   * Processes the stored data.
+   */
+  protected Object processStoredData(Object data) throws SolrException {
+    Object managedData = null;
     if (data != null) {
       if (!(data instanceof Map)) {
-        throw new SolrException(ErrorCode.SERVER_ERROR, 
+        throw new SolrException(ErrorCode.SERVER_ERROR,
             "Stored data for "+resourceId+" is not a valid JSON object!");
       }
 
@@ -196,37 +208,32 @@ public abstract class ManagedResource {
       Map<String,Object> initArgsMap = (Map<String,Object>)jsonMap.get(INIT_ARGS_JSON_FIELD);
       managedInitArgs = new NamedList<>(initArgsMap);
       log.info("Loaded initArgs {} for {}", managedInitArgs, resourceId);
-      
+
       if (jsonMap.containsKey(MANAGED_JSON_LIST_FIELD)) {
         Object jsonList = jsonMap.get(MANAGED_JSON_LIST_FIELD);
         if (!(jsonList instanceof List)) {
-          String errMsg = 
+          String errMsg =
               String.format(Locale.ROOT,
                   "Expected JSON array as value for %s but client sent a %s instead!",
                   MANAGED_JSON_LIST_FIELD, jsonList.getClass().getName());
           throw new SolrException(ErrorCode.SERVER_ERROR, errMsg);
         }
-        
+
         managedData = jsonList;
       } else if (jsonMap.containsKey(MANAGED_JSON_MAP_FIELD)) {
         Object jsonObj = jsonMap.get(MANAGED_JSON_MAP_FIELD);
         if (!(jsonObj instanceof Map)) {
-          String errMsg = 
+          String errMsg =
               String.format(Locale.ROOT,
                   "Expected JSON map as value for %s but client sent a %s instead!",
                   MANAGED_JSON_MAP_FIELD, jsonObj.getClass().getName());
           throw new SolrException(ErrorCode.SERVER_ERROR, errMsg);
         }
-        
+
         managedData = jsonObj;
-      }      
-    }
-    
-    if (managedInitArgs == null) {
-      managedInitArgs = new NamedList<>();
+      }
     }
-        
-    onManagedDataLoadedFromStorage(managedInitArgs, managedData);
+    return managedData;
   }
   
   /**

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/RestManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/RestManager.java?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/RestManager.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/RestManager.java Wed Dec 24 18:32:21 2014
@@ -16,6 +16,7 @@ package org.apache.solr.rest;
  * limitations under the License.
  */
 
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.util.ArrayList;
@@ -450,6 +451,31 @@ public class RestManager {
     }
 
     /**
+     * Overrides the parent impl to handle FileNotFoundException better
+     */
+    @Override
+    protected synchronized void reloadFromStorage() throws SolrException {
+      String resourceId = getResourceId();
+      Object data = null;
+      try {
+        data = storage.load(resourceId);
+      } catch (FileNotFoundException fnf) {
+        // this is ok - simply means there are no managed components added yet
+      } catch (IOException ioExc) {
+        throw new SolrException(ErrorCode.SERVER_ERROR,
+            "Failed to load stored data for "+resourceId+" due to: "+ioExc, ioExc);
+      }
+
+      Object managedData = processStoredData(data);
+
+      if (managedInitArgs == null)
+        managedInitArgs = new NamedList<>();
+
+      if (managedData != null)
+        onManagedDataLoadedFromStorage(managedInitArgs, managedData);
+    }
+
+    /**
      * Loads and initializes any ManagedResources that have been created but
      * are not associated with any Solr components.
      */
@@ -457,12 +483,9 @@ public class RestManager {
     @Override
     protected void onManagedDataLoadedFromStorage(NamedList<?> managedInitArgs, Object managedData)
         throws SolrException {
-      
+
       if (managedData == null) {
-        // this is OK, just means there are no stored registrations
-        // storing an empty list is safe and avoid future warnings about
-        // the data not existing
-        storeManagedData(new ArrayList<Map<String,String>>(0));
+        // this is ok - just means no managed components have been added yet
         return;
       }
       

Modified: lucene/dev/trunk/solr/example/example-DIH/README.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/README.txt?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/README.txt (original)
+++ lucene/dev/trunk/solr/example/example-DIH/README.txt Wed Dec 24 18:32:21 2014
@@ -16,12 +16,11 @@
 Solr DataImportHandler example configuration
 --------------------------------------------
 
-Change to the parent (example) directory. Start solr by executing the following command 
+To run this example, use the "-e" option of the bin/solr script:
 
-> cd ..
-> java -Dsolr.solr.home="./example-DIH/solr/" -jar start.jar
+> bin/solr -e dih
 
-in this directory, and when Solr is started connect to:
+When Solr is started connect to:
 
   http://localhost:8983/solr/
 

Modified: lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/db-data-config.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/db-data-config.xml?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/db-data-config.xml (original)
+++ lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/db-data-config.xml Wed Dec 24 18:32:21 2014
@@ -1,5 +1,5 @@
 <dataConfig>
-    <dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:./example-DIH/hsqldb/ex" user="sa" />
+    <dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:${solr.install.dir}/example/example-DIH/hsqldb/ex" user="sa" />
     <document>
         <entity name="item" query="select * from item"
                 deltaQuery="select id from item where last_modified > '${dataimporter.last_index_time}'">

Modified: lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/schema.xml?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/schema.xml (original)
+++ lucene/dev/trunk/solr/example/example-DIH/solr/db/conf/schema.xml Wed Dec 24 18:32:21 2014
@@ -432,15 +432,6 @@
       </analyzer>
     </fieldType>
 
-    <!-- A text type for English text where stopwords and synonyms are managed using the REST API -->
-    <fieldType name="managed_en" class="solr.TextField" positionIncrementGap="100">
-      <analyzer>
-        <tokenizer class="solr.StandardTokenizerFactory"/>
-        <filter class="solr.ManagedStopFilterFactory" managed="english" />
-        <filter class="solr.ManagedSynonymFilterFactory" managed="english" />
-      </analyzer>
-    </fieldType>
-
     <!-- A general text field that has reasonable, generic
          cross-language defaults: it tokenizes with StandardTokenizer,
 	 removes stop words from case-insensitive "stopwords.txt"

Modified: lucene/dev/trunk/solr/example/example-DIH/solr/mail/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/solr/mail/conf/schema.xml?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/solr/mail/conf/schema.xml (original)
+++ lucene/dev/trunk/solr/example/example-DIH/solr/mail/conf/schema.xml Wed Dec 24 18:32:21 2014
@@ -351,15 +351,6 @@
       </analyzer>
     </fieldType>
 
-    <!-- A text type for English text where stopwords and synonyms are managed using the REST API -->
-    <fieldType name="managed_en" class="solr.TextField" positionIncrementGap="100">
-      <analyzer>
-        <tokenizer class="solr.StandardTokenizerFactory"/>
-        <filter class="solr.ManagedStopFilterFactory" managed="english" />
-        <filter class="solr.ManagedSynonymFilterFactory" managed="english" />
-      </analyzer>
-    </fieldType>
-
     <!-- A general text field that has reasonable, generic
          cross-language defaults: it tokenizes with StandardTokenizer,
 	 removes stop words from case-insensitive "stopwords.txt"

Modified: lucene/dev/trunk/solr/example/example-DIH/solr/rss/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/solr/rss/conf/schema.xml?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/solr/rss/conf/schema.xml (original)
+++ lucene/dev/trunk/solr/example/example-DIH/solr/rss/conf/schema.xml Wed Dec 24 18:32:21 2014
@@ -382,15 +382,6 @@
       </analyzer>
     </fieldType>
 
-    <!-- A text type for English text where stopwords and synonyms are managed using the REST API -->
-    <fieldType name="managed_en" class="solr.TextField" positionIncrementGap="100">
-      <analyzer>
-        <tokenizer class="solr.StandardTokenizerFactory"/>
-        <filter class="solr.ManagedStopFilterFactory" managed="english" />
-        <filter class="solr.ManagedSynonymFilterFactory" managed="english" />
-      </analyzer>
-    </fieldType>
-
     <!-- A general text field that has reasonable, generic
          cross-language defaults: it tokenizes with StandardTokenizer,
 	 removes stop words from case-insensitive "stopwords.txt"

Modified: lucene/dev/trunk/solr/example/example-DIH/solr/solr/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/solr/solr/conf/schema.xml?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/solr/solr/conf/schema.xml (original)
+++ lucene/dev/trunk/solr/example/example-DIH/solr/solr/conf/schema.xml Wed Dec 24 18:32:21 2014
@@ -432,15 +432,6 @@
       </analyzer>
     </fieldType>
 
-    <!-- A text type for English text where stopwords and synonyms are managed using the REST API -->
-    <fieldType name="managed_en" class="solr.TextField" positionIncrementGap="100">
-      <analyzer>
-        <tokenizer class="solr.StandardTokenizerFactory"/>
-        <filter class="solr.ManagedStopFilterFactory" managed="english" />
-        <filter class="solr.ManagedSynonymFilterFactory" managed="english" />
-      </analyzer>
-    </fieldType>
-
     <!-- A general text field that has reasonable, generic
          cross-language defaults: it tokenizes with StandardTokenizer,
 	 removes stop words from case-insensitive "stopwords.txt"

Modified: lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/schema.xml?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/schema.xml (original)
+++ lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/schema.xml Wed Dec 24 18:32:21 2014
@@ -314,15 +314,6 @@
       </analyzer>
     </fieldType>
 
-    <!-- A text type for English text where stopwords and synonyms are managed using the REST API -->
-    <fieldType name="managed_en" class="solr.TextField" positionIncrementGap="100">
-      <analyzer>
-        <tokenizer class="solr.StandardTokenizerFactory"/>
-        <filter class="solr.ManagedStopFilterFactory" managed="english" />
-        <filter class="solr.ManagedSynonymFilterFactory" managed="english" />
-      </analyzer>
-    </fieldType>
-
     <!-- A general text field that has reasonable, generic
          cross-language defaults: it tokenizes with StandardTokenizer,
          and down cases. -->

Modified: lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/tika-data-config.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/tika-data-config.xml?rev=1647825&r1=1647824&r2=1647825&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/tika-data-config.xml (original)
+++ lucene/dev/trunk/solr/example/example-DIH/solr/tika/conf/tika-data-config.xml Wed Dec 24 18:32:21 2014
@@ -2,7 +2,7 @@
     <dataSource type="BinFileDataSource" />
     <document>
         <entity name="tika-test" processor="TikaEntityProcessor"
-                url="exampledocs/solr-word.pdf" format="text">
+                url="${solr.install.dir}/example/exampledocs/solr-word.pdf" format="text">
                 <field column="Author" name="author" meta="true"/>
                 <field column="title" name="title" meta="true"/>
                 <field column="text" name="text"/>