[JIRA] (JENKINS-37267) Logged in dashboard listing takes > 30 seconds and absurdly large amounts of data returned

3 views
Skip to first unread message

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 8:49:01 PM8/8/16
to jenkinsc...@googlegroups.com
Michael Neale updated an issue
 
Jenkins / Bug JENKINS-37267
Logged in dashboard listing takes > 30 seconds and absurdly large amounts of data returned
Change By: Michael Neale
Summary: Logged in dashboard listing takes > 30 seconds and absurdly large amounts of data returned
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 8:51:01 PM8/8/16
to jenkinsc...@googlegroups.com

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 8:51:01 PM8/8/16
to jenkinsc...@googlegroups.com
Michael Neale commented on Bug JENKINS-37267
 
Re: Logged in dashboard listing takes > 30 seconds and absurdly large amounts of data returned

I see the json returned when not logged in, which is valid, is 19M of data!!!!

long.json.zip

this doesn't seem right.

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 8:51:03 PM8/8/16
to jenkinsc...@googlegroups.com

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 8:52:01 PM8/8/16
to jenkinsc...@googlegroups.com

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 9:04:04 PM8/8/16
to jenkinsc...@googlegroups.com
Michael Neale edited a comment on Bug JENKINS-37267
 
Re: Logged in dashboard listing takes > 30 seconds and absurdly large amounts of data returned
When logged in, the query

https://ci.blueocean.io/blue/rest/search/?q=type:pipeline;excludedFromFlattening:jenkins.branch.MultiBranchProject

EDIT: when I clear all cookies, the 500 error goes away. What is left is still the absurd amount of data.

results in a 500 error, with the body returning some json, and then:

{noformat}
FlowEndNode"}],"urlName":"flowGraph"},{"_class":"io.jenkins.blueocean.service.embedded.rest.ActionProxiesImpl","_links":{"self":{"_class":"io.jenkins.blueocean.rest.hal.Link","href":"/blue/rest/organizations/jenkins/pipelines/Acceptance-Tests/runs/141/flowGraphTable/"}},"_class":"org.jenkinsci.plugins.workflow.job.views.FlowGraphTableAction","urlName":"flowGraphTable"},{"_class":"io.jenkins.blueocean.service.embedded.rest.ActionProxiesImpl","_links":{"self":{"_class":"io.jenkins.blueocean.rest.hal.Link","href":"/blue/rest/organizations/jenkins/pipelines/Acceptance-Tests/runs/141/graphViz/"}},"_class":"org.jenkinsci.plugins.workflow.job.views.GraphVizAction","urlName":"graphViz"}],"artifacts":[],"changeSet":[],"durationInMillis":1203545,"enQueueTime":"2016-08-03T09:10:26.981+0000","endTime":"2016-08-03T09:30:30.526+0000","estimatedDurationInMillis":939240,"id":"141","organization":"jenkins","pipeline":"Acceptance-Tests","result":"SUCCESS","runSummary":"back to normal","startTime":"2016-08-03T09:10:26.981+0000","state":"FINISHED","type":"WorkflowRun","commitId":"8deda5dbd1638c21e9d3e4cdf28069403de8e40b"},{"_class":"io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl","_links":{"nodes":{"_class":"io.jenkins.blueocean.rest.hal.Link","href":"/blue/rest/organizations/jenkins/pipelines/Acceptance-Tests/runs/140/nodes/"},"log":{"_class":"io.jenkins.blueocean.rest.hal.Link","href":"/blue/rest/organizations/jenkins/pipelines/Acceptance-Tests/runs/140/log/"},"self":{"_class":"io.jenkins.blueocean.rest.hal.Link","href":"/blue/rest/organizations/jenkins/pipelines/Acceptance-Tests/runs/140/"},"steps":{"_class":"io.jenkins.blueocean.rest.hal.Link","href":"/blue/rest/organizations/jenkins/pipelines/Acceptance-Tests/runs/140/steps/"},"actions":{"_class":"io.jenkins.blueocean.rest.hal.L

<!DOCTYPE html><html><head resURL="/static/5b3ac9b3" data-rooturl="" data-resurl="/static/5b3ac9b3">
    

    <title>Jenkins [Jenkins]</title><link rel="stylesheet" href="/static/5b3ac9b3/css/layout-common.css" type="text/css" /><link rel="stylesheet" href="/static/5b3ac9b3/css/style.css" type="text/css" /><link rel="stylesheet" href="/static/5b3ac9b3/css/color.css" type="text/css" /><link rel="stylesheet" href="/static/5b3ac9b3/css/responsive-grid.css" type="text/css" /><link rel="shortcut icon" href="/static/5b3ac9b3/favicon.ico" type="image/vnd.microsoft.icon" /><link color="black" rel="mask-icon" href="/images/mask-icon.svg" /><script>var isRunAsTest=false; var rootURL=""; var resURL="/static/5b3ac9b3";</script><script src="/static/5b3ac9b3/scripts/prototype.js" type="text/javascript"></script><script src="/static/5b3ac9b3/scripts/behavior.js" type="text/javascript"></script><script src='/adjuncts/5b3ac9b3/org/kohsuke/stapler/bind.js' type='text/javascript'></script><script src="/static/5b3ac9b3/scripts/yui/yahoo/yahoo-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/dom/dom-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/event/event-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/animation/animation-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/dragdrop/dragdrop-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/container/container-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/connection/connection-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/datasource/datasource-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/autocomplete/autocomplete-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/menu/menu-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/element/element-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/button/button-min.js"></script><script src="/static/5b3ac9b3/scripts/yui/storage/storage-min.js"></script><script src="/static/5b3ac9b3/scripts/hudson-behavior.js" type="text/javascript"></script><script src="/static/5b3ac9b3/scripts/sortable.js" type="text/javascript"></script><script>crumb.init("", "");</script><link rel="stylesheet" href="/static/5b3ac9b3/scripts/yui/container/assets/container.css" type="text/css" /><link rel="stylesheet" href="/static/5b3ac9b3/scripts/yui/assets/skins/sam/skin.css" type="text/css" /><link rel="stylesheet" href="/static/5b3ac9b3/scripts/yui/container/assets/skins/sam/container.css" type="text/css" /><link rel="stylesheet" href="/static/5b3ac9b3/scripts/yui/button/assets/skins/sam/button.css" type="text/css" /><link rel="stylesheet" href="/static/5b3ac9b3/scripts/yui/menu/assets/skins/sam/menu.css" type="text/css" /><link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Jenkins" /><meta name="ROBOTS" content="INDEX,NOFOLLOW" /><script src="/static/5b3ac9b3/scripts/yui/cookie/cookie-min.js"></script><link rel='stylesheet' href='/adjuncts/5b3ac9b3/io/jenkins/blueocean/try.css' type='text/css' /><script src='/adjuncts/5b3ac9b3/io/jenkins/blueocean/try.js' type='text/javascript'></script><script src="/static/5b3ac9b3/jsbundles/page-init.js" type="text/javascript"></script></head><body data-model-type="hudson.model.Hudson" id="jenkins" class="yui-skin-sam jenkins-2.8 two-column" data-version="2.8"><a href="#skip2content" class="skiplink">Skip to content</a><div id="page-head"><div id="header"><div class="logo"><a id="jenkins-home-link" href="/"><img src="/static/5b3ac9b3/images/headshot.png" alt="title" id="jenkins-head-icon" /><img src="/static/5b3ac9b3/images/title.png" alt="title" width="139" id="jenkins-name-icon" height="34" /></a></div><div class="login"> <a href="/securityRealm/commenceLogin?from=%2Fblue%2Frest%2Fsearch%2F"><b>log in</b></a></div><div class="searchbox hidden-xs"><form method="get" name="search" action="/search/" style="position:relative;" class="no-json"><div id="search-box-minWidth"></div><div id="search-box-sizer"></div><div id="searchform"><input name="q" placeholder="search" id="search-box" class="has-default-text" value="type:pipeline;excludedFromFlattening:jenkins.branch.MultiBranchProject" /> <a href="http://wiki.jenkins-ci.org/display/JENKINS/Search+Box"><img src="/static/5b3ac9b3/images/16x16/help.png" style="width: 16px; height: 16px; " class="icon-help icon-sm" /></a><div id="search-box-completion"></div><script>createSearchBox("/search/");</script></div></form></div></div><div id="breadcrumbBar"><tr id="top-nav"><td id="left-top-nav" colspan="2"><link rel='stylesheet' href='/adjuncts/5b3ac9b3/lib/layout/breadcrumbs.css' type='text/css' /><script src='/adjuncts/5b3ac9b3/lib/layout/breadcrumbs.js' type='text/javascript'></script><div class="top-sticker noedge"><div class="top-sticker-inner"><div id="right-top-nav"></div><ul id="breadcrumbs"><li class="item"><a href="/" class="model-link inside">Jenkins</a></li><li href="/" class="children"></li></ul><div id="breadcrumb-menu-target"></div></div></div></td></tr></div></div><div id="page-body" class="clear"><div id="side-panel"><div class="task"><a href="http://jenkins-ci.org/" class="task-icon-link"><img src="/static/5b3ac9b3/images/24x24/next.png" style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-next icon-md" /></a> <a href="http://jenkins-ci.org/" class="task-link">Jenkins project</a></div><div class="task"><a href="http://issues.jenkins-ci.org/" class="task-icon-link"><img src="/static/5b3ac9b3/images/24x24/gear2.png" style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-gear2 icon-md" /></a> <a href="http://issues.jenkins-ci.org/" class="task-link">Bug tracker</a></div><div class="task"><a href="http://jenkins-ci.org/content/mailing-lists" class="task-icon-link"><img src="/static/5b3ac9b3/images/24x24/search.png" style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-search icon-md" /></a> <a href="http://jenkins-ci.org/content/mailing-lists" class="task-link">Mailing Lists</a></div><div class="task"><a href="https://twitter.com/jenkinsci" class="task-icon-link"><img src="/static/5b3ac9b3/images/24x24/user.png" style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-user icon-md" /></a> <a href="https://twitter.com/jenkinsci" class="task-link">Twitter: @jenkinsci</a></div></div><div id="main-panel"><a name="skip2content"></a><h1 style="text-align: center"><img src="/static/5b3ac9b3/images/rage.png" width="154" height="179" /><span style="font-size:50px"> Oops!</span></h1><div id="error-description"><p>A problem occurred while processing the request.
        Please check <a href="https://issues.jenkins-ci.org/">our bug tracker</a> to see if a similar problem has already been reported.
        If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem.
        If you think this is a new issue, please file a new issue.
        When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.
        <a href="http://jenkins-ci.org/content/mailing-lists">The users list</a> might be also useful in understanding what has happened.</p><h2>Stack trace</h2><pre style="margin:2em; clear:both">java.io.IOException: Failed to write _links
at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
at hudson.model.Api.doJson(Api.java:211)
at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:55)
at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:249)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at org.ec

{noformat}

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 9:05:01 PM8/8/16
to jenkinsc...@googlegroups.com
Michael Neale updated an issue
Change By: Michael Neale
Comment: Actually I noticed when looking at https://ci.blueocean.io/blue/rest/organizations/jenkins/pipelines/ when logged in - there was a 500 error in rendering a link.

mneale@cloudbees.com (JIRA)

unread,
Aug 8, 2016, 9:06:05 PM8/8/16
to jenkinsc...@googlegroups.com
Michael Neale edited a comment on Bug JENKINS-37267
EDIT: when I clear all cookies, the 500 error goes away. What is left is still the absurd amount of data. However, invalid cookies shouldn't trigger these errors. I am not sure if they prevent things showing up, but it is confusing to see them in the log.

vivek.pandey@gmail.com (JIRA)

unread,
Aug 8, 2016, 9:29:01 PM8/8/16
to jenkinsc...@googlegroups.com

vivek.pandey@gmail.com (JIRA)

unread,
Aug 8, 2016, 9:30:02 PM8/8/16
to jenkinsc...@googlegroups.com
Vivek Pandey commented on Bug JENKINS-37267
 
Re: Logged in dashboard listing takes > 30 seconds and absurdly large amounts of data returned

Michael Neale Regarding 500 error, it might be another ticket where certain plugin behaving badly, this part seems duplicate of that ticket. Performance regression is coming from recent activities API.

Ivan Meredith

Mic mentioned huge amount of data returned as part of listing pipelines and I noticed you are inlining activities inside pipeline. You should remove @Exported annotation otherwise it will be inlined from both these files or anywhere you have them on getActivites method that returns Container. In general we do not want collections to be inlined inside another object.

PipelineImpl, MultiBranchPipelineImpl:

@Exported(inline = true)
@Navigable
public Container<Resource> getActivities()

{ return Containers.fromResource(getLink(),Lists.newArrayList(Iterators.concat(getQueue().iterator(), getRuns().iterator()))); }

mneale@cloudbees.com (JIRA)

unread,
Aug 9, 2016, 12:32:02 AM8/9/16
to jenkinsc...@googlegroups.com

mneale@cloudbees.com (JIRA)

unread,
Aug 9, 2016, 12:32:02 AM8/9/16
to jenkinsc...@googlegroups.com
Michael Neale started work on Bug JENKINS-37267
 
Change By: Michael Neale
Status: Open In Progress

mneale@cloudbees.com (JIRA)

unread,
Aug 9, 2016, 12:34:02 AM8/9/16
to jenkinsc...@googlegroups.com

jdumay@cloudbees.com (JIRA)

unread,
Aug 15, 2016, 6:45:02 PM8/15/16
to jenkinsc...@googlegroups.com

jbriden@cloudbees.com (JIRA)

unread,
Jul 6, 2018, 5:05:29 PM7/6/18
to jenkinsc...@googlegroups.com
Jenn Briden closed an issue as Fixed
Change By: Jenn Briden
Status: Resolved Closed
This message was sent by Atlassian JIRA (v7.10.1#710002-sha1:6efc396)
Reply all
Reply to author
Forward
0 new messages