Hi All,

 

I made a change to schema to add new fields in a
collection, this was uploaded to Zookeeper via the
below command:

 

For the Schema

solr zk cp
file:E:\SolrCloud\server\solr\configsets\COLLECTIO
N\conf\schema.xml
zk:/configs/COLLECTION/schema.xml -z
SERVERNAME1.uleaf.site

 

For the Solrconfig

solr zk cp
file:E:\SolrCloud\server\solr\configsets\COLLECTIO
N\conf\solrconfig.xml
zk:/configs/COLLECTION/solrconfig.xml -z
SERVERNAME1.uleaf.site

Note: the solrconfig has <schemaFactory
class="ClassicIndexSchemaFactory"/> defined.

 

 

When I then go to update a record with the new
field in you get the following error: 

 

org.apache.solr.common.SolrException: This
IndexSchema is not mutable.

                at
org.apache.solr.update.processor.AddSchemaFieldsUp
dateProcessorFactory$AddSchemaFieldsUpdateProcesso
r.processAdd(AddSchemaFieldsUpdateProcessorFactory
.java:376)

                at
org.apache.solr.update.processor.UpdateRequestProc
essor.processAdd(UpdateRequestProcessor.java:55)

                at
org.apache.solr.update.processor.FieldMutatingUpda
teProcessor.processAdd(FieldMutatingUpdateProcesso
r.java:118)

                at
org.apache.solr.update.processor.UpdateRequestProc
essor.processAdd(UpdateRequestProcessor.java:55)

                at
org.apache.solr.update.processor.FieldMutatingUpda
teProcessor.processAdd(FieldMutatingUpdateProcesso
r.java:118)

                at
org.apache.solr.update.processor.UpdateRequestProc
essor.processAdd(UpdateRequestProcessor.java:55)

                at
org.apache.solr.update.processor.FieldMutatingUpda
teProcessor.processAdd(FieldMutatingUpdateProcesso
r.java:118)

                at
org.apache.solr.update.processor.UpdateRequestProc
essor.processAdd(UpdateRequestProcessor.java:55)

                at
org.apache.solr.update.processor.FieldMutatingUpda
teProcessor.processAdd(FieldMutatingUpdateProcesso
r.java:118)

                at
org.apache.solr.update.processor.UpdateRequestProc
essor.processAdd(UpdateRequestProcessor.java:55)

                at
org.apache.solr.update.processor.FieldNameMutating
UpdateProcessorFactory$1.processAdd(FieldNameMutat
ingUpdateProcessorFactory.java:75)

                at
org.apache.solr.update.processor.UpdateRequestProc
essor.processAdd(UpdateRequestProcessor.java:55)

                at
org.apache.solr.update.processor.FieldMutatingUpda
teProcessor.processAdd(FieldMutatingUpdateProcesso
r.java:118)

                at
org.apache.solr.update.processor.UpdateRequestProc
essor.processAdd(UpdateRequestProcessor.java:55)

                at
org.apache.solr.update.processor.AbstractDefaultVa
lueUpdateProcessorFactory$DefaultValueUpdateProces
sor.processAdd(AbstractDefaultValueUpdateProcessor
Factory.java:92)

                at
org.apache.solr.handler.loader.JavabinLoader$1.upd
ate(JavabinLoader.java:110)

                at
org.apache.solr.client.solrj.request.JavaBinUpdate
RequestCodec$StreamingCodec.readOuterMostDocIterat
or(JavaBinUpdateRequestCodec.java:327)

                at
org.apache.solr.client.solrj.request.JavaBinUpdate
RequestCodec$StreamingCodec.readIterator(JavaBinUp
dateRequestCodec.java:280)

                at
org.apache.solr.common.util.JavaBinCodec.readObjec
t(JavaBinCodec.java:333)

                at
org.apache.solr.common.util.JavaBinCodec.readVal(J
avaBinCodec.java:278)

                at
org.apache.solr.client.solrj.request.JavaBinUpdate
RequestCodec$StreamingCodec.readNamedList(JavaBinU
pdateRequestCodec.java:235)

                at
org.apache.solr.common.util.JavaBinCodec.readObjec
t(JavaBinCodec.java:298)

                at
org.apache.solr.common.util.JavaBinCodec.readVal(J
avaBinCodec.java:278)

                at
org.apache.solr.common.util.JavaBinCodec.unmarshal
(JavaBinCodec.java:191)

                at
org.apache.solr.client.solrj.request.JavaBinUpdate
RequestCodec.unmarshal(JavaBinUpdateRequestCodec.j
ava:126)

                at
org.apache.solr.handler.loader.JavabinLoader.parse
AndLoadDocs(JavabinLoader.java:123)

                at
org.apache.solr.handler.loader.JavabinLoader.load(
JavabinLoader.java:70)

                at
org.apache.solr.handler.UpdateRequestHandler$1.loa
d(UpdateRequestHandler.java:97)

                at
org.apache.solr.handler.ContentStreamHandlerBase.h
andleRequestBody(ContentStreamHandlerBase.java:68)

                at
org.apache.solr.handler.RequestHandlerBase.handleR
equest(RequestHandlerBase.java:199)

                at
org.apache.solr.core.SolrCore.execute(SolrCore.jav
a:2551)

                at
org.apache.solr.servlet.HttpSolrCall.execute(HttpS
olrCall.java:710)

                at
org.apache.solr.servlet.HttpSolrCall.call(HttpSolr
Call.java:516)

                at
org.apache.solr.servlet.SolrDispatchFilter.doFilte
r(SolrDispatchFilter.java:395)

                at
org.apache.solr.servlet.SolrDispatchFilter.doFilte
r(SolrDispatchFilter.java:341)

                at
org.eclipse.jetty.servlet.ServletHandler$CachedCha
in.doFilter(ServletHandler.java:1602)

                at
org.eclipse.jetty.servlet.ServletHandler.doHandle(
ServletHandler.java:540)

                at
org.eclipse.jetty.server.handler.ScopedHandler.han
dle(ScopedHandler.java:146)

                at
org.eclipse.jetty.security.SecurityHandler.handle(
SecurityHandler.java:548)

                at
org.eclipse.jetty.server.handler.HandlerWrapper.ha
ndle(HandlerWrapper.java:132)

                at
org.eclipse.jetty.server.handler.ScopedHandler.nex
tHandle(ScopedHandler.java:257)

                at
org.eclipse.jetty.server.session.SessionHandler.do
Handle(SessionHandler.java:1588)

                at
org.eclipse.jetty.server.handler.ScopedHandler.nex
tHandle(ScopedHandler.java:255)

                at
org.eclipse.jetty.server.handler.ContextHandler.do
Handle(ContextHandler.java:1345)

                at
org.eclipse.jetty.server.handler.ScopedHandler.nex
tScope(ScopedHandler.java:203)

                at
org.eclipse.jetty.servlet.ServletHandler.doScope(S
ervletHandler.java:480)

                at
org.eclipse.jetty.server.session.SessionHandler.do
Scope(SessionHandler.java:1557)

                at
org.eclipse.jetty.server.handler.ScopedHandler.nex
tScope(ScopedHandler.java:201)

                at
org.eclipse.jetty.server.handler.ContextHandler.do
Scope(ContextHandler.java:1247)

                at
org.eclipse.jetty.server.handler.ScopedHandler.han
dle(ScopedHandler.java:144)

                at
org.eclipse.jetty.server.handler.ContextHandlerCol
lection.handle(ContextHandlerCollection.java:220)

                at
org.eclipse.jetty.server.handler.HandlerCollection
.handle(HandlerCollection.java:126)

                at
org.eclipse.jetty.server.handler.HandlerWrapper.ha
ndle(HandlerWrapper.java:132)

                at
org.eclipse.jetty.rewrite.handler.RewriteHandler.h
andle(RewriteHandler.java:335)

                at
org.eclipse.jetty.server.handler.HandlerWrapper.ha
ndle(HandlerWrapper.java:132)

                at
org.eclipse.jetty.server.Server.handle(Server.java
:502)

                at
org.eclipse.jetty.server.HttpChannel.handle(HttpCh
annel.java:364)

                at
org.eclipse.jetty.server.HttpConnection.onFillable
(HttpConnection.java:260)

                at
org.eclipse.jetty.io.AbstractConnection$ReadCallba
ck.succeeded(AbstractConnection.java:305)

                at
org.eclipse.jetty.io.FillInterest.fillable(FillInt
erest.java:103)

                at
org.eclipse.jetty.io.ChannelEndPoint$2.run(Channel
EndPoint.java:118)

                at
org.eclipse.jetty.util.thread.strategy.EatWhatYouK
ill.runTask(EatWhatYouKill.java:333)

                at
org.eclipse.jetty.util.thread.strategy.EatWhatYouK
ill.doProduce(EatWhatYouKill.java:310)

                at
org.eclipse.jetty.util.thread.strategy.EatWhatYouK
ill.tryProduce(EatWhatYouKill.java:168)

                at
org.eclipse.jetty.util.thread.strategy.EatWhatYouK
ill.run(EatWhatYouKill.java:126)

                at
org.eclipse.jetty.util.thread.ReservedThreadExecut
or$ReservedThread.run(ReservedThreadExecutor.java:
366)

                at
org.eclipse.jetty.util.thread.QueuedThreadPool.run
Job(QueuedThreadPool.java:765)

                at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.r
un(QueuedThreadPool.java:683)

                at java.lang.Thread.run(Unknown
Source)

 

I have a few questions which I hope you can help:

-          Once collection is created and data has
been indexed on that collection, is there anyway
of changing the schema being mutable as oppose to
immutable. As error suggests.

-          Can we amend the existing collection so
it works or is this not feasible.

-          If we are not able to amend the
collection and have to remove/create with the
schema as mutable is there a way of exporting the
collection so we can re-import. We currently have
6 million entries so ideally if we can keep this
instead of having to re-index.

-          Is there a reason why by default it is
immutable and what is the correct syntax to use to
ensure a collection is IMMUTABLE=false.

 

Any help is much appreciated.

 

 

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to