Christos Malliaridis created SOLR-17898:
-------------------------------------------

             Summary: Updating collection property via v2 API endpoint fails 
with 500 response
                 Key: SOLR-17898
                 URL: https://issues.apache.org/jira/browse/SOLR-17898
             Project: Solr
          Issue Type: Bug
          Components: v2 API
    Affects Versions: 9.9
            Reporter: Christos Malliaridis


When trying to create or update a collection property via the v2 API endpoint, 
an exception is raised and HTTP 500 is returned.
h2. Steps to Reproduce

1. Start Solr with the techproducts example
2. Send a PUT request to 
[http://localhost:8983/api/collections/techproducts/properties/foo] with the 
json body {{{ "value": "bar" }}}
h2. Expected Behavior

A collection property with the name "foo" and the value "bar" is created or 
updated.
h2. Actual Behavior

Server responds with HTTP 500 and raises error
h2. Logs / Stacktrace
{code}
Unable to find source-code formatter for language: stacktrace. Available 
languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, 
erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, 
objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, 
xml, yamlWARNING: HK2 service reification failed for 
[org.apache.solr.handler.admin.api.CollectionProperty] with an exception:
MultiException stack 1 of 2
java.lang.NoSuchMethodException: Could not find a suitable constructor in 
org.apache.solr.handler.admin.api.CollectionProperty class.
        at 
org.glassfish.jersey.inject.hk2.JerseyClassAnalyzer.getConstructor(JerseyClassAnalyzer.java:168)
        at org.jvnet.hk2.internal.Utilities.getConstructor(Utilities.java:159)
        at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:106)
        at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:165)
        at 
org.jvnet.hk2.internal.SystemDescriptor.internalReify(SystemDescriptor.java:741)
        at 
org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:692)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:444)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2332)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.igdCacheCompute(ServiceLocatorImpl.java:1204)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl$8.compute(ServiceLocatorImpl.java:1198)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl$8.compute(ServiceLocatorImpl.java:1195)
        at 
org.glassfish.hk2.utilities.cache.internal.WeakCARCacheImpl.compute(WeakCARCacheImpl.java:108)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetDescriptor(ServiceLocatorImpl.java:1278)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:771)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:738)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:708)
        at 
org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getInstance(AbstractHk2InjectionManager.java:160)
        at 
org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getInstance(ImmediateHk2InjectionManager.java:30)
        at 
org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:122)
        at 
org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:260)
        at 
org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:51)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:86)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:89)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:89)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:89)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:69)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:38)
        at org.glassfish.jersey.process.internal.Stages.process(Stages.java:173)
        at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:266)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
        at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266)
        at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:253)
        at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:696)
        at 
org.apache.solr.api.V2HttpCall.invokeJerseyRequest(V2HttpCall.java:345)
        at 
org.apache.solr.api.V2HttpCall.invokeJerseyRequest(V2HttpCall.java:309)
        at 
org.apache.solr.api.V2HttpCall.executeCoreRequest(V2HttpCall.java:446)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:487)
        at 
org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:227)
        at 
org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilterRetry$0(SolrDispatchFilter.java:186)
        at 
org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:226)
        at 
org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:194)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilterRetry(SolrDispatchFilter.java:180)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:170)
        at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:208)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:819)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
        at 
org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
        at 
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1064)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
        at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:740)
        at 
org.eclipse.jetty.server.handler.ConditionalHandler.nextHandler(ConditionalHandler.java:421)
        at 
org.eclipse.jetty.server.handler.InetAccessHandler.onConditionsMet(InetAccessHandler.java:50)
        at 
org.eclipse.jetty.server.handler.ConditionalHandler.handle(ConditionalHandler.java:378)
        at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
        at 
org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)
        at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
        at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
        at 
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:611)
        at org.eclipse.jetty.server.Server.handle(Server.java:182)
        at 
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
        at 
org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
        at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
        at java.base/java.lang.Thread.run(Thread.java:1583)
MultiException stack 2 of 2
java.lang.IllegalArgumentException: Errors were discovered while reifying 
SystemDescriptor(
        implementation=org.apache.solr.handler.admin.api.CollectionProperty
        contracts={org.apache.solr.handler.admin.api.CollectionProperty}
        scope=org.glassfish.jersey.process.internal.RequestScoped
        qualifiers={}
        descriptorType=CLASS
        descriptorVisibility=NORMAL
        metadata=
        rank=0
        loader=null
        proxiable=null
        proxyForSameScope=null
        analysisName=null
        id=115
        locatorId=0
        identityHashCode=1740199803
        reified=false)
        at 
org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:704)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:444)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2332)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.igdCacheCompute(ServiceLocatorImpl.java:1204)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl$8.compute(ServiceLocatorImpl.java:1198)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl$8.compute(ServiceLocatorImpl.java:1195)
        at 
org.glassfish.hk2.utilities.cache.internal.WeakCARCacheImpl.compute(WeakCARCacheImpl.java:108)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetDescriptor(ServiceLocatorImpl.java:1278)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:771)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:738)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:708)
        at 
org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getInstance(AbstractHk2InjectionManager.java:160)
        at 
org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getInstance(ImmediateHk2InjectionManager.java:30)
        at 
org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:122)
        at 
org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:260)
        at 
org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:51)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:86)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:89)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:89)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:89)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:69)
        at 
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:38)
        at org.glassfish.jersey.process.internal.Stages.process(Stages.java:173)
        at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:266)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
        at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266)
        at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:253)
        at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:696)
        at 
org.apache.solr.api.V2HttpCall.invokeJerseyRequest(V2HttpCall.java:345)
        at 
org.apache.solr.api.V2HttpCall.invokeJerseyRequest(V2HttpCall.java:309)
        at 
org.apache.solr.api.V2HttpCall.executeCoreRequest(V2HttpCall.java:446)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:487)
        at 
org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:227)
        at 
org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilterRetry$0(SolrDispatchFilter.java:186)
        at 
org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:226)
        at 
org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:194)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilterRetry(SolrDispatchFilter.java:180)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:170)
        at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:208)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:819)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
        at 
org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
        at 
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1064)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
        at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:740)
        at 
org.eclipse.jetty.server.handler.ConditionalHandler.nextHandler(ConditionalHandler.java:421)
        at 
org.eclipse.jetty.server.handler.InetAccessHandler.onConditionsMet(InetAccessHandler.java:50)
        at 
org.eclipse.jetty.server.handler.ConditionalHandler.handle(ConditionalHandler.java:378)
        at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
        at 
org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)
        at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
        at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
        at 
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:611)
        at org.eclipse.jetty.server.Server.handle(Server.java:182)
        at 
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
        at 
org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
        at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
        at java.base/java.lang.Thread.run(Thread.java:1583)
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to