[ 
https://issues.apache.org/jira/browse/SOLR-14268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Corthals updated SOLR-14268:
-----------------------------------
    Description: 
Creating a Managed Stopwords list that has the same name as a previously 
deleted list results in an error if the core has been reloaded after deleting 
the list. Going through the same flow with Managed Synonyms doesn't result in 
this unexpected behaviour.

On a newly started solr with the techproducts core:
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
{code}
The second PUT request results in a status 500 with error msg 
"java.util.LinkedHashMap cannot be cast to java.util.List".

{code:json}
{
 "responseHeader":{
 "status":500,
 "QTime":2},
 "error":{
 "msg":"java.util.LinkedHashMap cannot be cast to java.util.List",
 "trace":"java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast 
to java.util.List\r\n\tat 
org.apache.solr.rest.schema.analysis.ManagedWordSetResource.applyUpdatesToManagedData(ManagedWordSetResource.java:163)\r\n\tat
 org.apache.solr.rest.ManagedResource.doPut(ManagedResource.java:395)\r\n\tat 
org.apache.solr.rest.RestManager$ManagedEndpoint.put(RestManager.java:343)\r\n\tat
 org.restlet.resource.ServerResource.doHandle(ServerResource.java:447)\r\n\tat 
org.restlet.resource.ServerResource.doConditionalHandle(ServerResource.java:359)\r\n\tat
 org.restlet.resource.ServerResource.handle(ServerResource.java:1044)\r\n\tat 
org.restlet.resource.Finder.handle(Finder.java:236)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.routing.Router.doHandle(Router.java:422)\r\n\tat 
org.restlet.routing.Router.handle(Router.java:639)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140)\r\n\tat
 org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)\r\n\tat 
org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:75)\r\n\tat
 org.restlet.Application.handle(Application.java:385)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.routing.Router.doHandle(Router.java:422)\r\n\tat 
org.restlet.routing.Router.handle(Router.java:639)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.routing.Router.doHandle(Router.java:422)\r\n\tat 
org.restlet.routing.Router.handle(Router.java:639)\r\n\tat 
org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)\r\n\tat 
org.restlet.Component.handle(Component.java:408)\r\n\tat 
org.restlet.Server.handle(Server.java:507)\r\n\tat 
org.restlet.engine.connector.ServerHelper.handle(ServerHelper.java:63)\r\n\tat 
org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:143)\r\n\tat
 org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1117)\r\n\tat 
javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\r\n\tat 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:876)\r\n\tat 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)\r\n\tat
 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)\r\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\r\n\tat
 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)\r\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)\r\n\tat
 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)\r\n\tat
 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)\r\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\r\n\tat
 org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:227)\r\n\tat 
org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:78)\r\n\tat 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:428)\r\n\tat
 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)\r\n\tat
 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)\r\n\tat
 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)\r\n\tat
 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)\r\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\r\n\tat
 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)\r\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)\r\n\tat
 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)\r\n\tat
 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)\r\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)\r\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\r\n\tat
 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)\r\n\tat
 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)\r\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
 
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)\r\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
 org.eclipse.jetty.server.Server.handle(Server.java:505)\r\n\tat 
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)\r\n\tat 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)\r\n\tat
 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)\r\n\tat
 org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\r\n\tat 
org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)\r\n\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\r\n\tat
 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\r\n\tat
 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\r\n\tat
 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\r\n\tat
 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\r\n\tat
 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)\r\n\tat
 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)\r\n\tat
 java.lang.Thread.run(Unknown Source)\r\n",
 "code":500}}
{code}

Similar requests for synonyms work fine, no matter how many times I repeat the 
CREATE/DELETE/RELOAD cycle:
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap {code}
Reloading after creating the Stopwords list but not after deleting it works 
without error too on a fresh techproducts core (you'll have to remove the 
directory from disk and create the core again after running the previous 
commands).
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
{code}
And even curiouser, when doing a CREATE/DELETE for Stopwords, then a 
CREATE/DELETE for Synonyms, and only then a RELOAD of the core, the cycle can 
be completed twice. (Again, on a freshly created techproducts core.) Only the 
third attempt to create a list results in an error. Synonyms can still be 
created and deleted repeatedly after this.
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
{code}
The same successes/errors occur when running each cycle against a different 
core if the cores share the same configset.

  was:
Creating a Managed Stopwords list that has the same name as a previously 
deleted list results in an error if the core has been reloaded after deleting 
the list. Going through the same flow with Managed Synonyms doesn't result in 
this unexpected behaviour.

On a newly started solr with the techproducts core:
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
{code}
The second PUT request results in a status 500 with error msg 
"java.util.LinkedHashMap cannot be cast to java.util.List".

Similar requests for synonyms work fine, no matter how many times I repeat the 
CREATE/DELETE/RELOAD cycle:
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap {code}
Reloading after creating the Stopwords list but not after deleting it works 
without error too on a fresh techproducts core (you'll have to remove the 
directory from disk and create the core again after running the previous 
commands).
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
{code}
And even curiouser, when doing a CREATE/DELETE for Stopwords, then a 
CREATE/DELETE for Synonyms, and only then a RELOAD of the core, the cycle can 
be completed twice. (Again, on a freshly created techproducts core.) Only the 
third attempt to create a list results in an error. Synonyms can still be 
created and deleted repeatedly after this.
{code:bash}
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
 \
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl -X DELETE 
http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
curl -X PUT -H 'Content-type:application/json' --data-binary \
'{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
{code}
The same successes/errors occur when running each cycle against a different 
core if the cores share the same configset.


> Re-creating deleted Managed Stopwords lists results in error
> ------------------------------------------------------------
>
>                 Key: SOLR-14268
>                 URL: https://issues.apache.org/jira/browse/SOLR-14268
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Schema and Analysis
>    Affects Versions: 6.6.6, 7.7.2, 8.4.1
>            Reporter: Thomas Corthals
>            Priority: Major
>              Labels: ManagedStopwordFilterFactory, REST, Solr
>
> Creating a Managed Stopwords list that has the same name as a previously 
> deleted list results in an error if the core has been reloaded after deleting 
> the list. Going through the same flow with Managed Synonyms doesn't result in 
> this unexpected behaviour.
> On a newly started solr with the techproducts core:
> {code:bash}
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl -X DELETE 
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> {code}
> The second PUT request results in a status 500 with error msg 
> "java.util.LinkedHashMap cannot be cast to java.util.List".
> {code:json}
> {
>  "responseHeader":{
>  "status":500,
>  "QTime":2},
>  "error":{
>  "msg":"java.util.LinkedHashMap cannot be cast to java.util.List",
>  "trace":"java.lang.ClassCastException: java.util.LinkedHashMap cannot be 
> cast to java.util.List\r\n\tat 
> org.apache.solr.rest.schema.analysis.ManagedWordSetResource.applyUpdatesToManagedData(ManagedWordSetResource.java:163)\r\n\tat
>  org.apache.solr.rest.ManagedResource.doPut(ManagedResource.java:395)\r\n\tat 
> org.apache.solr.rest.RestManager$ManagedEndpoint.put(RestManager.java:343)\r\n\tat
>  
> org.restlet.resource.ServerResource.doHandle(ServerResource.java:447)\r\n\tat 
> org.restlet.resource.ServerResource.doConditionalHandle(ServerResource.java:359)\r\n\tat
>  org.restlet.resource.ServerResource.handle(ServerResource.java:1044)\r\n\tat 
> org.restlet.resource.Finder.handle(Finder.java:236)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.routing.Router.doHandle(Router.java:422)\r\n\tat 
> org.restlet.routing.Router.handle(Router.java:639)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140)\r\n\tat
>  org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)\r\n\tat 
> org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:75)\r\n\tat
>  org.restlet.Application.handle(Application.java:385)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.routing.Router.doHandle(Router.java:422)\r\n\tat 
> org.restlet.routing.Router.handle(Router.java:639)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.routing.Router.doHandle(Router.java:422)\r\n\tat 
> org.restlet.routing.Router.handle(Router.java:639)\r\n\tat 
> org.restlet.routing.Filter.doHandle(Filter.java:150)\r\n\tat 
> org.restlet.routing.Filter.handle(Filter.java:197)\r\n\tat 
> org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)\r\n\tat 
> org.restlet.Component.handle(Component.java:408)\r\n\tat 
> org.restlet.Server.handle(Server.java:507)\r\n\tat 
> org.restlet.engine.connector.ServerHelper.handle(ServerHelper.java:63)\r\n\tat
>  
> org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:143)\r\n\tat
>  
> org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1117)\r\n\tat
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\r\n\tat 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:876)\r\n\tat
>  
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)\r\n\tat
>  
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)\r\n\tat
>  
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\r\n\tat
>  
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)\r\n\tat
>  
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)\r\n\tat
>  
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\r\n\tat
>  org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:227)\r\n\tat 
> org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:78)\r\n\tat 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:428)\r\n\tat
>  
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)\r\n\tat
>  
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)\r\n\tat
>  
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)\r\n\tat
>  
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)\r\n\tat
>  
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\r\n\tat
>  
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)\r\n\tat
>  
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)\r\n\tat
>  
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\r\n\tat
>  
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)\r\n\tat
>  
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)\r\n\tat
>  
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
>  
> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)\r\n\tat
>  
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat
>  org.eclipse.jetty.server.Server.handle(Server.java:505)\r\n\tat 
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)\r\n\tat 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)\r\n\tat
>  
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)\r\n\tat
>  org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\r\n\tat 
> org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)\r\n\tat 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\r\n\tat
>  
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\r\n\tat
>  
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\r\n\tat
>  
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\r\n\tat
>  
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\r\n\tat
>  
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)\r\n\tat
>  
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)\r\n\tat
>  java.lang.Thread.run(Unknown Source)\r\n",
>  "code":500}}
> {code}
> Similar requests for synonyms work fine, no matter how many times I repeat 
> the CREATE/DELETE/RELOAD cycle:
> {code:bash}
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
>  \
> http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
> curl -X DELETE 
> http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
> curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
>  \
> http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap 
> {code}
> Reloading after creating the Stopwords list but not after deleting it works 
> without error too on a fresh techproducts core (you'll have to remove the 
> directory from disk and create the core again after running the previous 
> commands).
> {code:bash}
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
> curl -X DELETE 
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> {code}
> And even curiouser, when doing a CREATE/DELETE for Stopwords, then a 
> CREATE/DELETE for Synonyms, and only then a RELOAD of the core, the cycle can 
> be completed twice. (Again, on a freshly created techproducts core.) Only the 
> third attempt to create a list results in an error. Synonyms can still be 
> created and deleted repeatedly after this.
> {code:bash}
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl -X DELETE 
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
>  \
> http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
> curl -X DELETE 
> http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
> curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl -X DELETE 
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager"}'
>  \
> http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
> curl -X DELETE 
> http://localhost:8983/solr/techproducts/schema/analysis/synonyms/testmap
> curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=techproducts
> curl -X PUT -H 'Content-type:application/json' --data-binary \
> '{"class":"org.apache.solr.rest.schema.analysis.ManagedWordSetResource"}' \
> http://localhost:8983/solr/techproducts/schema/analysis/stopwords/testlist
> {code}
> The same successes/errors occur when running each cycle against a different 
> core if the cores share the same configset.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to