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