[NETCONF-781] HTTP ERROR 500 Request failed on restconf POST Created: 20/May/21 Updated: 31/May/21 Resolved: 31/May/21 |
|
| Status: | Resolved |
| Project: | netconf |
| Component/s: | restconf-nb |
| Affects Version/s: | 1.13.1, 1.13.2 |
| Fix Version/s: | 2.0.0, 1.13.3 |
| Type: | Bug | Priority: | Medium |
| Reporter: | Marek Zaťko | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | pt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
In Sillicon release, restconf POST to topology netconf results in Error 500 Request failed. response, in logs the following exception is thrown Caused by: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-0-chn-5-txn-0-0 is not ready yet.
Logs from karaf: 21:18:43.970 INFO [Blueprint Event Dispatcher: 1] Blueprint container for bundle org.opendaylight.netconf.restconf-nb-rfc8040_1.13.1 [279] was successfully created 21:18:46.095 INFO [qtp664704439-692] Authentication is now enabled 21:18:46.097 INFO [qtp664704439-692] Authentication Manager activated 21:18:46.308 WARN [qtp664704439-692] /rests/data/network-topology:network-topology javax.servlet.ServletException: javax.servlet.ServletException: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-1-chn-3-txn-0-0 is not ready yet at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:90) ~[?:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.Server.handle(Server.java:501) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) [bundleFile:9.4.31.v20200723] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: javax.servlet.ServletException: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-1-chn-3-txn-0-0 is not ready yet at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432) ~[?:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1402) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:319) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:273) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[?:?] at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:567) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[?:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1377) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:507) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1292) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:82) ~[?:?] ... 12 more Caused by: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-1-chn-3-txn-0-0 is not ready yet at org.opendaylight.controller.cluster.datastore.TransactionChainProxy$Allocated.checkReady(TransactionChainProxy.java:86) ~[?:?] at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.newReadOnlyTransaction(TransactionChainProxy.java:158) ~[?:?] at org.opendaylight.controller.cluster.databroker.DOMBrokerReadOnlyTransaction.createTransaction(DOMBrokerReadOnlyTransaction.java:52) ~[?:?] at org.opendaylight.controller.cluster.databroker.DOMBrokerReadOnlyTransaction.createTransaction(DOMBrokerReadOnlyTransaction.java:21) ~[?:?] at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerTransaction.getSubtransaction(AbstractDOMBrokerTransaction.java:56) ~[?:?] at org.opendaylight.controller.cluster.databroker.DOMBrokerReadOnlyTransaction.exists(DOMBrokerReadOnlyTransaction.java:42) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.transactions.BatchedExistenceCheck.start(BatchedExistenceCheck.java:46) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.transactions.MdsalRestconfTransaction.create(MdsalRestconfTransaction.java:84) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.utils.PostDataTransactionUtil.makePost(PostDataTransactionUtil.java:183) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.utils.PostDataTransactionUtil.submitData(PostDataTransactionUtil.java:98) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.utils.PostDataTransactionUtil.postData(PostDataTransactionUtil.java:71) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfDataServiceImpl.postData(RestconfDataServiceImpl.java:356) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfDataServiceImpl.postData(RestconfDataServiceImpl.java:343) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.services.wrapper.ServicesWrapper.postData(ServicesWrapper.java:128) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76) ~[?:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148) ~[?:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191) ~[?:?] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200) ~[?:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103) ~[?:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493) ~[?:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415) ~[?:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104) ~[?:?] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277) ~[?:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272) ~[?:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268) ~[?:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:316) ~[?:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:298) ~[?:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:268) ~[?:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289) ~[?:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256) ~[?:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703) ~[?:?] at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416) ~[?:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1402) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:319) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:273) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[?:?] at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:567) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[?:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1377) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:507) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1292) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:82) ~[?:?] ... 12 more 21:18:46.340 WARN [qtp664704439-692] unhandled due to prior sendError javax.servlet.ServletException: javax.servlet.ServletException: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-1-chn-3-txn-0-0 is not ready yet at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:90) ~[?:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.Server.handle(Server.java:501) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) [bundleFile:9.4.31.v20200723] at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) [bundleFile:9.4.31.v20200723] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: javax.servlet.ServletException: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-1-chn-3-txn-0-0 is not ready yet at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432) ~[?:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1402) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:319) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:273) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[?:?] at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:567) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[?:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1377) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:507) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1292) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:82) ~[?:?] ... 12 more Caused by: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-1-chn-3-txn-0-0 is not ready yet at org.opendaylight.controller.cluster.datastore.TransactionChainProxy$Allocated.checkReady(TransactionChainProxy.java:86) ~[?:?] at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.newReadOnlyTransaction(TransactionChainProxy.java:158) ~[?:?] at org.opendaylight.controller.cluster.databroker.DOMBrokerReadOnlyTransaction.createTransaction(DOMBrokerReadOnlyTransaction.java:52) ~[?:?] at org.opendaylight.controller.cluster.databroker.DOMBrokerReadOnlyTransaction.createTransaction(DOMBrokerReadOnlyTransaction.java:21) ~[?:?] at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerTransaction.getSubtransaction(AbstractDOMBrokerTransaction.java:56) ~[?:?] at org.opendaylight.controller.cluster.databroker.DOMBrokerReadOnlyTransaction.exists(DOMBrokerReadOnlyTransaction.java:42) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.transactions.BatchedExistenceCheck.start(BatchedExistenceCheck.java:46) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.transactions.MdsalRestconfTransaction.create(MdsalRestconfTransaction.java:84) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.utils.PostDataTransactionUtil.makePost(PostDataTransactionUtil.java:183) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.utils.PostDataTransactionUtil.submitData(PostDataTransactionUtil.java:98) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.utils.PostDataTransactionUtil.postData(PostDataTransactionUtil.java:71) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfDataServiceImpl.postData(RestconfDataServiceImpl.java:356) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfDataServiceImpl.postData(RestconfDataServiceImpl.java:343) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.services.wrapper.ServicesWrapper.postData(ServicesWrapper.java:128) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76) ~[?:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148) ~[?:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191) ~[?:?] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200) ~[?:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103) ~[?:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493) ~[?:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415) ~[?:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104) ~[?:?] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277) ~[?:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272) ~[?:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268) ~[?:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:316) ~[?:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:298) ~[?:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:268) ~[?:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289) ~[?:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256) ~[?:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703) ~[?:?] at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416) ~[?:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342) ~[?:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1402) ~[?:?] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:319) ~[?:?] at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:273) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?] at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[?:?] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[?:?] at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) ~[?:?] at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[?:?] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:567) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[?:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.31.v20200723] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1377) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[?:?] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:507) ~[?:?] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[?:?] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1292) ~[?:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:82) ~[?:?] ... 12 more In a case of XML payload it works fine and data is POSTED fine, because the BatchedExistenceCheck is skipped in that case. |
| Comments |
| Comment by Charalampos Kaidos [ 28/May/21 ] |
|
I have the same issue on my data models and I have managed to narrow it down. It happens when I POST to a container that contains a list. If I PUT the same container, there is no problem. Also if I POST a container that contains a container that contains a list there is no error either. Example Data model:
container credentials {
container snmp {
container v2c {
list community {
key community;
leaf community {
type string;
}
}
}
}
}
If I POST at /rests/data/identification:credentials/snmp/v2c the data:
{
"community": [
{
"community": "ssd"
}
]
}
Then I get the 500 error and the suspicious DEBUG logs are:
12:25:37.965 DEBUG [qtp1515961087-699] Write Tx: member-1-datastore-config-fe-1-chn-26-txn-0-0 allocated with snapshot org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version@44050d9d
12:25:37.965 DEBUG [qtp1515961087-699] Tx: member-1-datastore-config-fe-1-chn-26-txn-0-0 Merge: /(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials:ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials, value=[ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)snmp, value=[ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)v2c, value=[ImmutableMapNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)community, value=[]}]}]}]}
12:25:37.966 DEBUG [qtp1515961087-699] Tx: member-1-datastore-config-fe-1-chn-26-txn-0-0 Merge: /(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials:ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials, value=[ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)snmp, value=[ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)v2c, value=[]}]}]}
12:25:37.966 DEBUG [qtp1515961087-699] sendError HttpChannelState@6baca566{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0}
12:25:37.966 DEBUG [qtp1515961087-699] Leaving scope org.eclipse.jetty.server.session.SessionHandler798801461==dftMaxIdleSec=300 dispatch=REQUEST, async=false, session=Session@6b105718{id=node01dykt6o046u4s1io8bx7etw4il2,x=node01dykt6o046u4s1io8bx7etw4il2.node0,req=1,res=true}, oldsession=null, oldsessionhandler=null
12:25:37.966 WARN [qtp1515961087-699] /rests/data/identification:credentials/snmp/v2c
javax.servlet.ServletException: javax.servlet.ServletException: java.lang.IllegalStateException: Previous transaction member-1-datastore-config-fe-1-chn-26-txn-0-0 is not ready yet
...
But if I post at /rests/data/identification:credentials/snmp the data:
{
"v2c": {
"community": [
{
"community": "ssd"
}
]
}
}
Then everything works fine and get 201. The logs in this case:
12:34:58.138 DEBUG [qtp1515961087-918] Write Tx: member-1-datastore-config-fe-1-chn-27-txn-0-0 allocated with snapshot org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version@44050d9d
12:34:58.138 DEBUG [qtp1515961087-918] Tx: member-1-datastore-config-fe-1-chn-27-txn-0-0 Read: /(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials/snmp/v2c
12:34:58.138 DEBUG [qtp1515961087-918] Tx: member-1-datastore-config-fe-1-chn-27-txn-0-0 Merge: /(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials:ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials, value=[ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)snmp, value=[]}]}
12:34:58.139 DEBUG [qtp1515961087-918] Tx: member-1-datastore-config-fe-1-chn-27-txn-0-0 Write: /(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)credentials/snmp/v2c:ImmutableContainerNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)v2c, value=[ImmutableMapNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)community, value=[ImmutableMapEntryNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)community[{(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)community=ssd}], value=[ImmutableLeafNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)community, value=ssd}]}]}]}
12:34:58.139 DEBUG [qtp1515961087-918] Tx member-1-datastore-config-fe-1-chn-27-txn-0-0 Readying 1 components for commit
12:34:58.139 DEBUG [qtp1515961087-918] Tx member-1-datastore-config-fe-1-chn-27-txn-0-0 Readying transaction for shard default
12:34:58.139 DEBUG [qtp1515961087-918] Total modifications on Tx member-1-datastore-config-fe-1-chn-27-txn-0-0 = [ 2 ]
...
What I see in the logs is that the list data are missing in the first request ({identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)v2c, value=[]}), but are present in the second request ({identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)v2c, value=[ImmutableMapNode{identifier=(urn:opendaylight:params:xml:ns:yang:identification?revision=2017-09-12)community...) This breaks many of out requests from external systems and prohibits us to upgrade from Aluminium. |
| Comment by Robert Varga [ 31/May/21 ] |
|
I need a full stack trace for that ISE – otherwise I cannot identify the offender. |
| Comment by Charalampos Kaidos [ 31/May/21 ] |
|
I attached the whole karaf.log. The offending request logs start at line 2773 while the stacktrace is at line 2989. |
| Comment by Robert Varga [ 31/May/21 ] |
|
Ah, right, that is the same thing. I misread the proposition in "from Aluminium" |
| Comment by Robert Varga [ 31/May/21 ] |
|
The 2.0.0 was fixed as part of NETCONF-773 refactors. |