You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Steve Rowe (JIRA)" <ji...@apache.org> on 2013/08/12 21:40:49 UTC

[jira] [Commented] (SOLR-5119) Managed schema problems after adding fields via Schema Rest API

    [ https://issues.apache.org/jira/browse/SOLR-5119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13737272#comment-13737272 ] 

Steve Rowe commented on SOLR-5119:
----------------------------------

I was able to reproduce both problems, in standalone mode and in SolrCloud mode.

Steps to reproduce in standalone mode: start the example in managed schema mode; add one or more fields via the REST API (e.g. the {{curl}} add fields command given in the description), then either reload the core or view the schema from the admin UI.

The source of both problems is the same: {{ManagedIndexSchema.shallowCopy()}} doesn't set {{resourceName}} at all, and then when it's referenced an NPE occurs:

{noformat}
382354 [qtp1973711593-30] INFO  org.apache.solr.servlet.SolrDispatchFilter  – [admin] webapp=null path=/admin/cores params={action=RELOAD&_=1376332774482&core=collection1&wt=json} status=500 QTime=195 
382355 [qtp1973711593-30] ERROR org.apache.solr.servlet.SolrDispatchFilter  – null:org.apache.solr.common.SolrException: Error handling 'reload' action
	at org.apache.solr.handler.admin.CoreAdminHandler.handleReloadAction(CoreAdminHandler.java:671)
	at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:172)
	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
	at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:618)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:209)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:368)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
	at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
	at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
	at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.solr.common.SolrException: Unable to reload core: collection1
	at org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:930)
	at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:685)
	at org.apache.solr.handler.admin.CoreAdminHandler.handleReloadAction(CoreAdminHandler.java:669)
	... 30 more
Caused by: java.lang.NullPointerException
	at org.apache.solr.schema.ManagedIndexSchemaFactory.warnIfNonManagedSchemaExists(ManagedIndexSchemaFactory.java:222)
	at org.apache.solr.schema.ManagedIndexSchemaFactory.readSchemaLocally(ManagedIndexSchemaFactory.java:197)
	at org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:118)
	at org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:45)
	at org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
	at org.apache.solr.core.SolrCore.reload(SolrCore.java:404)
	at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:675)
	... 31 more
{noformat}

>From {{ManagedIndexSchemaFactory.warnIfNonManagedSchemaExists()}}:

{code:java}
221:  private void warnIfNonManagedSchemaExists() {
222:    if ( ! resourceName.equals(managedSchemaResourceName)) {
{code}

                
> Managed schema problems after adding fields via Schema Rest API 
> ----------------------------------------------------------------
>
>                 Key: SOLR-5119
>                 URL: https://issues.apache.org/jira/browse/SOLR-5119
>             Project: Solr
>          Issue Type: Bug
>          Components: Schema and Analysis
>    Affects Versions: 4.4
>            Reporter: NilsK
>            Assignee: Steve Rowe
>            Priority: Critical
>
> After adding fields with the Schema API the schema cannot be shown on the Admin UI anymore and reloading the Collection/Core throws an NullPointerException. The schema itself seems to work.
> Steps to reproduce:
> 1. enable managed schema in example/solr/collection1/conf/solrconfig.xml
> 2. upload that config
> {code}sh example/cloud-scripts/zkcli.sh -z localhost:8575 -cmd upconfig -d example/solr/collection1/conf/ -n myconfig{code}
> 3. create a new collection 
> {code}curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=mycollection&numShards=1&replicationFactor=1&collection.configName=myconfig"{code}
> 4. add some fields
> {code}curl http://localhost:8983/solr/mycollection/schema/fields -X POST -H 'Content-type:application/json' --data-binary '[
> {
>   "name": "my_field",
>   "type": "string",
>   "stored": true,
>   "indexed": true
> },
> {
>   "name": "my_field2",
>   "type": "string",
>   "stored": true,
>   "indexed": true
> }
> ]'{code}
> 5. *Problem 1*: http://localhost:8983/solr/#/mycollection_shard1_replica1/schema
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <response>
> <lst name="responseHeader"><int name="status">404</int><int name="QTime">2</int></lst><lst name="error"><str name="msg">Can not find: /configs/myconfig/null</str><int name="code">404</int></lst>
> </response>
> {code}
> 6. *Problem 2*: http://localhost:8983/solr/admin/collections?action=RELOAD&name=mycollection
> {code}
> <response>
> <lst name="responseHeader"><int name="status">0</int><int name="QTime">845</int></lst><lst name="failure"><str name="10.147.252.2:8983_solr">org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Server at http://10.147.252.2:8983/solr returned non ok status:500, message:Server Error</str></lst>
> </response>
> {code}
> 7. when restarting Solr, both 5 and 6 work 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org