You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ko...@apache.org on 2013/05/10 15:29:30 UTC

svn commit: r1481008 - in /lucene/dev/branches/lucene_solr_4_3: ./ dev-tools/ lucene/ lucene/analysis/ lucene/analysis/icu/src/java/org/apache/lucene/collation/ lucene/backwards/ lucene/benchmark/ lucene/classification/ lucene/classification/src/ lucen...

Author: koji
Date: Fri May 10 13:29:28 2013
New Revision: 1481008

URL: http://svn.apache.org/r1481008
Log:
SOLR-4751: fix replication problem of files in sub directory of conf

Modified:
    lucene/dev/branches/lucene_solr_4_3/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/dev-tools/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/BUILD.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/CHANGES.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/JRE_VERSION_MIGRATION.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/LICENSE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/MIGRATE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/README.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/SYSTEM_REQUIREMENTS.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/analysis/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/backwards/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/benchmark/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/classification/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/classification/build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/classification/ivy.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/classification/src/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/codecs/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/common-build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/search/TestSort.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/search/TestSortDocValues.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/search/TestSortRandom.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/core/src/test/org/apache/lucene/search/TestTotalHitCountCollector.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/demo/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/facet/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/grouping/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/highlighter/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/ivy-settings.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/join/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/licenses/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/memory/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/misc/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/module-build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/queries/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/queryparser/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/sandbox/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/site/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/spatial/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/suggest/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/test-framework/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/lucene/tools/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/LICENSE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/README.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/SYSTEM_REQUIREMENTS.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/cloud-dev/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/common-build.xml   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/contrib/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/core/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/core/src/java/org/apache/solr/handler/SnapPuller.java
    lucene/dev/branches/lucene_solr_4_3/solr/core/src/test/org/apache/solr/core/TestConfig.java   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/example/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/licenses/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/licenses/httpclient-LICENSE-ASL.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/licenses/httpclient-NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/licenses/httpcore-LICENSE-ASL.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/licenses/httpcore-NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/licenses/httpmime-LICENSE-ASL.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/licenses/httpmime-NOTICE.txt   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/scripts/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/site/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/solrj/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/test-framework/   (props changed)
    lucene/dev/branches/lucene_solr_4_3/solr/webapp/   (props changed)

Modified: lucene/dev/branches/lucene_solr_4_3/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_4_3/solr/CHANGES.txt?rev=1481008&r1=1481007&r2=1481008&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_4_3/solr/CHANGES.txt (original)
+++ lucene/dev/branches/lucene_solr_4_3/solr/CHANGES.txt Fri May 10 13:29:28 2013
@@ -49,6 +49,8 @@ Bug Fixes
   range in cluster state. This happens when numShards is not a power of two
   and router is compositeId. (shalin)
 
+* SOLR-4751: Fix replication problem of files in sub directory of conf directory.
+  (Minoru Osuka via Koji Sekiguchi)
 
 Other Changes
 ----------------------

Modified: lucene/dev/branches/lucene_solr_4_3/solr/core/src/java/org/apache/solr/handler/SnapPuller.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_4_3/solr/core/src/java/org/apache/solr/handler/SnapPuller.java?rev=1481008&r1=1481007&r2=1481008&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_4_3/solr/core/src/java/org/apache/solr/handler/SnapPuller.java (original)
+++ lucene/dev/branches/lucene_solr_4_3/solr/core/src/java/org/apache/solr/handler/SnapPuller.java Fri May 10 13:29:28 2013
@@ -798,14 +798,29 @@ public class SnapPuller {
   }
 
   /**
+   * Make file list 
+   */
+  private List<File> makeTmpConfDirFileList(File dir, List<File> fileList) {
+    File[] files = dir.listFiles();
+    for (File file : files) {
+      if (file.isFile()) {
+        fileList.add(file);
+      } else if (file.isDirectory()) {
+        fileList = makeTmpConfDirFileList(file, fileList);
+      }
+    }
+    return fileList;
+  }
+  
+  /**
    * The conf files are copied to the tmp dir to the conf dir. A backup of the old file is maintained
    */
   private void copyTmpConfFiles2Conf(File tmpconfDir) {
     File confDir = new File(solrCore.getResourceLoader().getConfigDir());
-    for (File file : tmpconfDir.listFiles()) {
-      File oldFile = new File(confDir, file.getName());
+    for (File file : makeTmpConfDirFileList(tmpconfDir, new ArrayList<File>())) {
+      File oldFile = new File(confDir, file.getPath().substring(tmpconfDir.getPath().length(), file.getPath().length()));
       if (oldFile.exists()) {
-        File backupFile = new File(confDir, oldFile.getName() + "." + getDateAsStr(new Date(oldFile.lastModified())));
+        File backupFile = new File(oldFile.getPath() + "." + getDateAsStr(new Date(oldFile.lastModified())));
         boolean status = oldFile.renameTo(backupFile);
         if (!status) {
           throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,