Issue Summary
Loading a Portfolio plan results in Javascript error "TypeError: Cannot read property 'end' of undefined ". This is caused due to the lexorank algorithm returns inconsistent data during the ranking phase.
Steps to Reproduce
- Try loading a Portfolio Plan.
- Below error is observed in the UI when the plan loads:
Client Information User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36 Local Time: Mon Jan 13 2020 09:58:12 GMT+0100 (Central European Standard Time) Plugin Information Version: 3.18.0 System Information Jira Title: IDM JIRA Jira Version: 8.4.1 Stack Trace Cannot read property 'end' of undefined TypeError: Cannot read property 'end' of undefined at X (https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts.js:3:480983\) at https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:21380 at z (https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:21481\) at M (https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:19391\) at b (https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:20168\) at https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:22115 at z (https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:22138\) at M (https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:19391\) at b (https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:20168\) at https://msdevopsjira.fsc.atos-services.net/s/d41d8cd98f00b204e9800998ecf8427e-CDN/6v2vmd/804002/4d87926d6fc4fca0fde22f225ba8d5bb/3.18.0/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:14:22115
Expected Results
The plan should load without any javascript error.
Actual Results
There is a javascript error when plan loads.
The below exception is thrown in the xxxxxxx.log file:
2020-02-13 17:08:46,302 http-nio-8080-exec-16 ERROR sysadmin 1028x18368x1 1cney43 172.22.88.223 /secure/PortfolioPlanView.jspa [c.a.r.c.b.agile.rank.AgileRankOperationResponse] Agile call returned errors: -20901=ErrorCollection[errors=[ErrorCollection.ErrorItem[contextId=<null>,messageKey=gh.lexorank.service.error.reindex.required,params={}]],reasons=[CONFLICT]] 2020-02-13 17:08:46,302 http-nio-8080-exec-16 ERROR sysadmin 1028x18368x1 1cney43 172.22.88.223 /secure/PortfolioPlanView.jspa [c.a.r.j.env.rank.BaseJiraEnvironmentRankService] com.atlassian.rm.common.bridges.agile.rank.BatchAgileRankException at com.atlassian.rm.common.bridges.agile.rank.AgileRankOperationResponse.create(AgileRankOperationResponse.java:44) at com.atlassian.rm.common.bridges.agile.InternalAgileRankService.rankLast(InternalAgileRankService.java:92) at com.atlassian.rm.common.bridges.agile.BaseAgileRankServiceBridgeJpo.rankLast(BaseAgileRankServiceBridgeJpo.java:38) at com.atlassian.rm.common.bridges.agile.AgileVersionDomainRankServiceBridgeJpo.rankLast(AgileVersionDomainRankServiceBridgeJpo.java:9) at com.atlassian.rm.jpo.env.rank.BaseJiraEnvironmentRankService.rankLast(BaseJiraEnvironmentRankService.java:53) at com.atlassian.rm.jpo.core.rank.BaseKeyRankService.stackUnknown(BaseKeyRankService.java:101) at com.atlassian.rm.jpo.core.rank.DefaultVersionDomainKeyRankService.stackUnknown(DefaultVersionDomainKeyRankService.java:11) at com.atlassian.rm.jpo.core.version.VersionOrderService.stackUnknownEnviromentVersions(VersionOrderService.java:43) at com.atlassian.rm.jpo.core.project.DefaultProjectService.stackUnknownEnviromentVersions(DefaultProjectService.java:140) at com.atlassian.rm.jpo.core.project.DefaultProjectService.getDeepProjects(DefaultProjectService.java:95) at com.atlassian.rm.jpo.core.project.DefaultProjectService.getDeepProjectsById(DefaultProjectService.java:76) at com.atlassian.rm.jpo.core.issuesource.context.DefaultIssueSourceContextService.getProjectInfosForIds(DefaultIssueSourceContextService.java:70) at com.atlassian.rm.jpo.rest.service.plan.CommonPlanInformationProvider.getProjects(CommonPlanInformationProvider.java:302) at com.atlassian.rm.jpo.rest.service.plan.CommonPlanInformationProvider.getPlanInfo(CommonPlanInformationProvider.java:132) at com.atlassian.rm.jpo.plugin.views.simpleplans.data.SimplePlansInformationProvider.getData(SimplePlansInformationProvider.java:88) at com.atlassian.rm.jpo.plugin.views.simpleplans.data.SimplePlansInformationProvider.getData(SimplePlansInformationProvider.java:26) at com.atlassian.rm.common.plugin.views.common.data.common.BaseGsonWebResourceDataProvider.lambda$get$0(BaseGsonWebResourceDataProvider.java:29)
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available