mirror of https://github.com/apache/lucene.git
SOLR-3745: Proper error reporting if SolrCloud mode is used w/o necessary "_version_" field in schema.xml
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1377898 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2afa06672f
commit
a8b57fa9de
|
@ -85,6 +85,9 @@ Bug Fixes
|
||||||
* SOLR-3746: Proper error reporting if updateLog is configured w/o necessary
|
* SOLR-3746: Proper error reporting if updateLog is configured w/o necessary
|
||||||
"_version_" field in schema.xml (hossman)
|
"_version_" field in schema.xml (hossman)
|
||||||
|
|
||||||
|
* SOLR-3745: Proper error reporting if SolrCloud mode is used w/o
|
||||||
|
necessary "_version_" field in schema.xml (hossman)
|
||||||
|
|
||||||
|
|
||||||
Other Changes
|
Other Changes
|
||||||
----------------------
|
----------------------
|
||||||
|
|
|
@ -65,6 +65,7 @@ import org.apache.solr.search.ValueSourceParser;
|
||||||
import org.apache.solr.update.DirectUpdateHandler2;
|
import org.apache.solr.update.DirectUpdateHandler2;
|
||||||
import org.apache.solr.update.SolrIndexWriter;
|
import org.apache.solr.update.SolrIndexWriter;
|
||||||
import org.apache.solr.update.UpdateHandler;
|
import org.apache.solr.update.UpdateHandler;
|
||||||
|
import org.apache.solr.update.VersionInfo;
|
||||||
import org.apache.solr.update.processor.DistributedUpdateProcessorFactory;
|
import org.apache.solr.update.processor.DistributedUpdateProcessorFactory;
|
||||||
import org.apache.solr.update.processor.LogUpdateProcessorFactory;
|
import org.apache.solr.update.processor.LogUpdateProcessorFactory;
|
||||||
import org.apache.solr.update.processor.RunUpdateProcessorFactory;
|
import org.apache.solr.update.processor.RunUpdateProcessorFactory;
|
||||||
|
@ -593,6 +594,25 @@ public final class SolrCore implements SolrInfoMBean {
|
||||||
schema = new IndexSchema(config, IndexSchema.DEFAULT_SCHEMA_FILE, null);
|
schema = new IndexSchema(config, IndexSchema.DEFAULT_SCHEMA_FILE, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (null != cd && null != cd.getCloudDescriptor()) {
|
||||||
|
// we are evidently running in cloud mode.
|
||||||
|
//
|
||||||
|
// In cloud mode, version field is required for correct consistency
|
||||||
|
// ideally this check would be more fine grained, and individual features
|
||||||
|
// would assert it when they initialize, but DistribuedUpdateProcessor
|
||||||
|
// is currently a big ball of wax that does more then just distributing
|
||||||
|
// updates (ie: partial document updates), so it needs to work in no cloud
|
||||||
|
// mode as well, and can't assert version field support on init.
|
||||||
|
|
||||||
|
try {
|
||||||
|
Object ignored = VersionInfo.getAndCheckVersionField(schema);
|
||||||
|
} catch (SolrException e) {
|
||||||
|
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
|
||||||
|
"Schema will not work with SolrCloud mode: " +
|
||||||
|
e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Initialize JMX
|
//Initialize JMX
|
||||||
if (config.jmxConfig.enabled) {
|
if (config.jmxConfig.enabled) {
|
||||||
infoRegistry = new JmxMonitoredMap<String, SolrInfoMBean>(name, String.valueOf(this.hashCode()), config.jmxConfig);
|
infoRegistry = new JmxMonitoredMap<String, SolrInfoMBean>(name, String.valueOf(this.hashCode()), config.jmxConfig);
|
||||||
|
|
Loading…
Reference in New Issue