Uploaded image for project: 'bgpcep'
  1. bgpcep
  2. BGPCEP-355

Submitting transaction while PingPongTransaction is still running

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Won't Do
    • Bugzilla Migration
    • Bugzilla Migration
    • PCEP
    • None
    • Operating System: All
      Platform: All

    • 4936

    Description

      Opening as a PCEP bug as this happens during Beryllium PCEP performance suite [0], but this may also be a Controller (or even Yangtools) bug.

      (Title of BGPCEP-267 looks similar, but symptoms are completely different there.)

      This does not happen in PCEP functional suite. One possible difference is that the function suite uses XML data, while the performance suite uses JSON data.
      The same performance suite is passing on Lithium snapshot builds.

      There are only two suspicious warnings in karaf.log (even though the suite sends 65535 requests), between INFO about device connecting and WARN when device is killed (not shown here, original at [1]):

      2016-01-11 23:18:19,665 | WARN | CommitFutures-3 | PingPongTransactionChain | 116 - org.opendaylight.controller.sal-broker-impl - 1.3.0.SNAPSHOT | Submitting transaction PingPongTransaction

      {delegate=org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction@1b313c3f}

      while PingPongTransaction

      {delegate=org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction@3d6a5a0b}

      is still running
      2016-01-11 23:22:31,049 | WARN | ssionScavenger-3 | teInvalidatingHashSessionManager | 160 - org.ops4j.pax.web.pax-web-jetty - 3.1.4 | Timing out for 1 session(s) with id o1upfcm3jyz01lil98gaojr9u

      This Bug is reported against the "Submitting transaction" warning. If the suite failure has a different cause, it should be opened as a separate Bug.

      The http responses itself are more informative, as they include an exception:

      com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
      at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)
      at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
      at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
      at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
      at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830)
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory.codecFor(JSONCodecFactory.java:140)
      at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.translateValueByType(JsonParserStream.java:223)
      at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.setValue(JsonParserStream.java:116)
      at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.read(JsonParserStream.java:124)
      at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.read(JsonParserStream.java:183)
      at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.read(JsonParserStream.java:183)
      at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.parse(JsonParserStream.java:86)
      at org.opendaylight.netconf.sal.rest.impl.JsonNormalizedNodeBodyReader.readFrom(JsonNormalizedNodeBodyReader.java:131)
      at org.opendaylight.netconf.sal.rest.impl.JsonNormalizedNodeBodyReader.readFrom(JsonNormalizedNodeBodyReader.java:71)
      at org.opendaylight.netconf.sal.rest.impl.JsonNormalizedNodeBodyReader.readFrom(JsonNormalizedNodeBodyReader.java:52)
      at com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:488)
      at com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$EntityInjectable.getValue(EntityParamDispatchProvider.java:123)
      at com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:46)
      at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:153)
      at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:183)
      at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
      at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
      at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
      at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100)
      at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
      at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
      at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
      at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)
      at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
      at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)
      at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
      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:1467)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NullPointerException
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory.createFromSimpleType(JSONCodecFactory.java:128)
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory.createCodec(JSONCodecFactory.java:106)
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory.createReferencedTypeCodec(JSONCodecFactory.java:114)
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory.createCodec(JSONCodecFactory.java:100)
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory.access$100(JSONCodecFactory.java:37)
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory$2.load(JSONCodecFactory.java:74)
      at org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory$2.load(JSONCodecFactory.java:63)
      at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
      at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
      at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
      at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
      ... 79 more

      [0] https://jenkins.opendaylight.org/releng/view/bgpcep/job/bgpcep-csit-1node-periodic-throughpcep-only-beryllium/
      [1] https://jenkins.opendaylight.org/releng/view/bgpcep/job/bgpcep-csit-1node-periodic-throughpcep-only-beryllium/106/artifact/karaf.log

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            cdgasparini Claudio David Gasparini
            vrpolak Vratko Polak
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: