Details
-
Bug
-
Resolution: Fixed
-
Low
-
Severity 2 - Major
-
Description
NOTE: This bug report is for JIRA Portfolio Cloud. Using JIRA Portfolio Server? See the corresponding bug report.
Summary
JPO is timing out when creating a plan and importing only a few issues from a huge list of possible issues to be imported.
Environment
Portfolio for JIRA v2.1.5-OD-002-D20161109T020439
Steps to Reproduce
- Create a board
- Add 2000 tickets to this board
- Try to create a plan from that board selecting a single issue (or only a couple of them)
Expected Results
JPO would import only the selected issues.
Actual Results
JPO is timing out.
After a couple of minutes the following error message will show up:
Bummer, something has gone terribly wrong here...
Please try refreshing the page. If the issue continues, please copy and paste the information in the Details button below and send to your JIRA Administrator or Atlassian Support.
Unexpected error result. <!doctype html> <html> <head> <meta charset="utf-8"> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Atlassian Cloud Notifications - Page Unavailable</title> <link rel="stylesheet" href="// aui-cdn.atlassian.com/aui-adg/5.8.15/css/aui.css"> <script src="// cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.2/moment.js"></script> <script src="// cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.2.1/moment-timezone-with-data.js"></script> <script src="// cdnjs.cloudflare.com/ajax/libs/require.js/2.1.20/require.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="//aui-cdn.atlassian.com/aui-adg/5.8.15/js/aui-soy.js" type="text/javascript"></script> <script src="// aui-cdn.atlassian.com/aui-adg/5.8.15/js/aui.min.js" type="text/javascript"></script> <script src="// aui-cdn.atlassian.com/aui-adg/5.8.15/js/aui-experimental.min.js"></script> <!--[if lt IE 9]><link rel="stylesheet" href="// cdnjs.cloudflare.com/ajax/libs/aui/5.8.15/aui/css/aui-ie.css" media="all"><![endif]--> <!--[if IE 9]><link rel="stylesheet" href="// cdnjs.cloudflare.com/ajax/libs/aui/5.8.15/aui/css/aui-ie9.css" media="all"><![endif]--> <!--[if lt IE 9]><script src="// cdnjs.cloudflare.com/ajax/libs/aui/5.8.15/aui/js/aui-ie.js"></script><![endif]--> <script type="text/javascript"> (function () { var smartStatusBaseUrl; if (location.hostname == 'localhost') { smartStatusBaseUrl = location.protocol + '//' + location.hostname + ':' + location.port + '/'; } else if (location.hostname.indexOf("smart-status") > -1 ) { smartStatusBaseUrl = location.protocol + '//' + location.hostname + '/'; } else { smartStatusBaseUrl = location.protocol + '//' + location.hostname + '/status/'; } $('<link/>', { rel: 'stylesheet', type: 'text/css', href: smartStatusBaseUrl + 'styles/smart-status.css' }).appendTo('head'); define('smart-status/baseUrl', function () { return smartStatusBaseUrl; }); requirejs.config({ baseUrl: smartStatusBaseUrl + 'js/', paths: { backbone: '//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.3/backbone-min', moment: '//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min', react: '// cdnjs.cloudflare.com/ajax/libs/react/0.14.0-rc1/react-with-addons.min', 'react-dom': '// cdnjs.cloudflare.com/ajax/libs/react/0.14.0-rc1/react-dom.min', underscore: '//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min' }, bundles: { 'smart-status-all': ['smart-status/app'] }, waitSeconds: 15 }); }()); require(['smart-status/app'], function (SmartStatusApp) { SmartStatusApp.start(); }, function (e) { console.error(e); AJS.$('#notifications').replaceWith('<div class="aui-page-panel"><div class="aui-page-header-inner"><section class="aui-page-panel-content"><h1>Page unavailable</h1><div class="aui-page-notification-description">The requested page failed to load. If the problem persists, please contact Cloud Support.</div><br><p><a href="https://support.atlassian.com/servicedesk/customer/jst" button class="aui-button aui-button-primary">Create a Support request</a></p></section></div></div>'); }); </script> </head> <body class="aui-layout aui-page-notification aui-page-size-medium" data-aui-version="5.7.0"> <div id="smart-status-page"> <section id="content" role="main"> <div id="notifications"> <div id="search-loading-spinner" class="loading-spinner" style="display: block;" align="center"> <table> <tr> <td width="100%" height="344px"><div align="center"> <svg height="97.33333333333333" version="1.1" width="97.33333333333333" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative;"><desc style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Created with Raphaël 2.1.0</desc><defs style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></defs><g><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 48.66 48.66" to="360 48.66 48.66" dur="0.96s" additive="replace" repeatCount="indefinite" /><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="30 48.66 48.66" to="0 48.66 48.66" dur="0.08s" additive="sum" repeatCount="indefinite" /><path fill="none" stroke="#707070" d="M48.666666666666664,25.333333333333332L48.666666666666664,8.666666666666664" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.25" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.25;"></path><path fill="none" stroke="#707070" d="M60.33333333333333,28.459407245029762L68.66666666666666,14.025650515289115" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.3333333333333333" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.3333333333333333;"></path><path fill="none" stroke="#707070" d="M68.87392608830356,37L83.30768281804421,28.666666666666664" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.4166666666666667" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.4166666666666667;"></path><path fill="none" stroke="#707070" d="M72,48.666666666666664L88.66666666666666,48.666666666666664" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.5;"></path><path fill="none" stroke="#707070" d="M68.87392608830356,60.33333333333333L83.30768281804421,68.66666666666666" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.5833333333333334" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.5833333333333334;"></path><path fill="none" stroke="#707070" d="M60.333333333333336,68.87392608830356L68.66666666666669,83.30768281804421" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.6666666666666666" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.6666666666666666;"></path><path fill="none" stroke="#707070" d="M48.666666666666664,72L48.666666666666664,88.66666666666666" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.75" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.75;"></path><path fill="none" stroke="#707070" d="M37,68.87392608830356L28.66666666666667,83.30768281804421" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.8333333333333334" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.8333333333333334;"></path><path fill="none" stroke="#707070" d="M28.459407245029766,60.333333333333336L14.025650515289122,68.66666666666669" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.9166666666666666" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.9166666666666666;"></path><path fill="none" stroke="#707070" d="M25.333333333333332,48.666666666666664L8.666666666666664,48.66666666666667" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0;"></path><path fill="none" stroke="#707070" d="M28.459407245029755,37.000000000000014L14.025650515289101,28.66666666666669" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.08333333333333333" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.08333333333333333;"></path><path fill="none" stroke="#707070" d="M36.999999999999986,28.45940724502977L28.666666666666647,14.02565051528913" stroke-width="8.666666666666666" stroke-linecap="round" opacity="0.16666666666666666" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-linecap: round; opacity: 0.16666666666666666;"></path></g></svg><p style="padding-top:1em; font-weight:500; color:#707070;">Loading notifications...</p></div> </td> </tr> </table> </div> </div> </section> <footer id="footer"> <section class="footer-body"> <ul> <li><a href=" https://www.atlassian.com/cloud/status">Atlassian Cloud Status</a></li> <li><a href="https://confluence.atlassian.com/display/cloud/What's+New">Release Summary</a></li> <li><a href=" https://confluence.atlassian.com/display/Cloud/Atlassian+Cloud+Documentation">Documentation</a></li> <li><a href="https://answers.atlassian.com">Answers</a></li> </ul> <div id="footer-logo"><a href="http://www.atlassian.com/" target="_blank">Atlassian</a></div> </section> </footer> </div> </body> </html> =============== === Request === =============== URL: /rest/jpo/1.0/plans Type: POST Status: 504 =================== === Client Info === =================== User agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 Local time: Tue Nov 01 2016 14:41:53 GMT-0400 (Eastern Daylight Time) =================== === Plugin Info === =================== Plugin build: 2.1.2-OD-004-D20161018T080005 SEN: Unknown =================== === System Info === =================== JIRA Title: JIRA JIRA Version: 1000.482.3 Agile Version: 1000.135.0
Notes
When having more than 1000 issues to be possibly added into the scope, if not selecting them while creating the plan, JPO will have to manually (one-by-one) set a property that the issue are excluded from the plan, which is possibly causing the timeout.
Workaround
- Create plan with all issues and exclude the ones we don't want later:
A workaround would be to create the plan with all issues initially and then exclude them from the plan in batches by directly selecting them in the Scope view and committing these changes. - Create filter with the tickets that should be part of plan and use that as Portfolio data source
Downside: losing data association to boards.
Another option is to create a filter in JIRA that only returns the issues you need and to select this as your plans data source. The problem here is that you'll likely lose the main ability of live plans, which is to update the issues in their sources.
Attachments
Issue Links
- is related to
-
JPOSERVER-1716 JPO times out when creating a plan excluding large amounts of issues (~1,000+)
- Closed