You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/10/16 07:16:22 UTC
svn commit: r1532640 - in
/stanbol/trunk/entityhub/indexing/destination/solryard/src:
main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/
test/java/org/apache/stanbol/entityhub/indexing/destination/solryard/
Author: rwesten
Date: Wed Oct 16 05:16:22 2013
New Revision: 1532640
URL: http://svn.apache.org/r1532640
Log:
STANBOL-1176: the 'data/index/write.lock' is now excluded from solrindex archives
Modified:
stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java
stanbol/trunk/entityhub/indexing/destination/solryard/src/test/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestinationTest.java
Modified: stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java?rev=1532640&r1=1532639&r2=1532640&view=diff
==============================================================================
--- stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java (original)
+++ stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java Wed Oct 16 05:16:22 2013
@@ -51,6 +51,7 @@ import org.apache.lucene.search.IndexSea
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.dataimport.SolrWriter;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.RefCounted;
@@ -82,6 +83,15 @@ public class SolrYardIndexingDestination
private static final Logger log = LoggerFactory.getLogger(SolrYardIndexingDestination.class);
/**
+ * The relative path to the Solr 'write.lock' file (relative to the Solr
+ * instance dir). This file is excluded from the
+ * Solr Index archive built by {@link #writeSolrIndexArchive()} (see
+ * <a href="https://issues.apache.org/jira/browse/STANBOL-1176">STANBOL-1176</a>
+ * for more details).
+ */
+ private static final String SOLR_WRITE_LOCK = FilenameUtils.separatorsToSystem("data/index/write.lock");
+
+ /**
* Parameter used to refer to the name of the properties file containing the
* field names as key and the {@link Float} boost factors as values. As
* default no boosts will be used for indexing.
@@ -767,8 +777,8 @@ public class SolrYardIndexingDestination
File solrArchiveFile = new File(indexingConfig.getDistributionFolder(),solrArchive.getName());
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(solrArchiveFile));
for(File file : (Collection<File>)FileUtils.listFiles(solrIndexLocation, null, true)){
- if(!file.isHidden()){
- String name = file.getAbsolutePath().substring(parentPathLength);
+ String name = file.getAbsolutePath().substring(parentPathLength);
+ if(!file.isHidden() && !name.endsWith(SOLR_WRITE_LOCK)){
log.info("add "+name);
out.putNextEntry(new ZipEntry(name));
if(!file.isDirectory()){
@@ -777,6 +787,8 @@ public class SolrYardIndexingDestination
out.closeEntry();
IOUtils.closeQuietly(fileIn);
}
+ } else {
+ log.info("exclude "+name);
}
}
out.finish();
Modified: stanbol/trunk/entityhub/indexing/destination/solryard/src/test/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestinationTest.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/destination/solryard/src/test/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestinationTest.java?rev=1532640&r1=1532639&r2=1532640&view=diff
==============================================================================
--- stanbol/trunk/entityhub/indexing/destination/solryard/src/test/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestinationTest.java (original)
+++ stanbol/trunk/entityhub/indexing/destination/solryard/src/test/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestinationTest.java Wed Oct 16 05:16:22 2013
@@ -47,6 +47,7 @@ import org.apache.stanbol.entityhub.serv
import org.apache.stanbol.entityhub.yard.solr.impl.SolrYard;
import org.junit.After;
import org.junit.AfterClass;
+import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
@@ -76,6 +77,9 @@ public class SolrYardIndexingDestination
"solrconfig.xml",
"segments.gen");
+ public static final Collection<String> UNEXPECTED_INDEX_ARCHIVE_FILE_NAMES =
+ Arrays.asList("write.lock"); //excluded with STANBOL1176
+
private static final Logger log = LoggerFactory.getLogger(SolrYardIndexingDestinationTest.class);
private static final String CONFIG_ROOT = "testConfigs";
/**
@@ -211,9 +215,12 @@ public class SolrYardIndexingDestination
ZipEntry entry = entries.nextElement();
//the name of the index MUST be the root folder within the Archive!
assertTrue(entry.getName().startsWith(config.getName()));
- if(expected.remove(FilenameUtils.getName(entry.getName()))){
+ String name = FilenameUtils.getName(entry.getName());
+ if(expected.remove(name)){
log.info("found expected Entry '{}'",entry.getName());
}
+ Assert.assertFalse("found unexpected Entry '"+entry.getName()+"' in "
+ + "SolrIndexArchive", UNEXPECTED_INDEX_ARCHIVE_FILE_NAMES.contains(name));
}
assertTrue("missing Files in index archive: "+expected,expected.isEmpty());