Experienced Behavior:

      • An error is encountered when trying to share a request through the customer portal.
      • User is unable to add any participants due to error
      • Adding a participant does work when done through the normal JIRA interface

      The error message in the portal is caused by a JIRA Software Lexorank error that appears in the atlassian-jira.log file. There are multiple Lexorank errors that may be encountered. Below is one example:

      2016-10-13 15:09:32,403 http-nio-8080-exec-14 ERROR tim 909x1538x1 1juu1mp 192.168.56.1 /rest/servicedesk/1/servicedesk/customer/participant/addparticipants/DESK-3 [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: Expected the first rank row to be of type MAXIMUM_MARKER_ROW. Found row[LexoRankRow{id=10, fieldId=10005, issueId=10001, lockHash='null', lockTime=null, bucket=0, rank='0|i00007:', type=ISSUE_RANK_ROW}]
      com.atlassian.greenhopper.manager.lexorank.LexoRankIntegrityException: Expected the first rank row to be of type MAXIMUM_MARKER_ROW. Found row[LexoRankRow{id=10, fieldId=10005, issueId=10001, lockHash='null', lockTime=null, bucket=0, rank='0|i00007:', type=ISSUE_RANK_ROW}]
              at com.atlassian.greenhopper.manager.lexorank.LexoRankDaoImpl.getMaximumMarkerRowAndPreviousRow(LexoRankDaoImpl.java:374)
              at com.atlassian.greenhopper.service.lexorank.LexoRankOperation.rankInitially(LexoRankOperation.java:173)
              at com.atlassian.greenhopper.service.lexorank.LexoRankOperation.execute(LexoRankOperation.java:112)
              at com.atlassian.greenhopper.manager.lexorank.LexoRankManagerImpl.performRankOperation(LexoRankManagerImpl.java:286)
              at com.atlassian.greenhopper.manager.lexorank.LexoRankManagerImpl.getRankOrRankInitially(LexoRankManagerImpl.java:86)
              at com.atlassian.greenhopper.customfield.lexorank.LexoRankCFType.getValueFromIssue(LexoRankCFType.java:121)
              at com.atlassian.greenhopper.customfield.lexorank.LexoRankCFType.getValueFromIssue(LexoRankCFType.java:29)
              at com.atlassian.jira.issue.fields.ImmutableCustomField.getCustomFieldParamsFromIssue(ImmutableCustomField.java:1231)
              at com.atlassian.jira.issue.fields.ImmutableCustomField.populateFromIssue(ImmutableCustomField.java:594)
              at com.atlassian.jira.bc.issue.DefaultIssueService.validateAndPopulateParamsWithoutScreenCheck(DefaultIssueService.java:967)
              at com.atlassian.jira.bc.issue.DefaultIssueService.validateAndPopulateParams(DefaultIssueService.java:886)
              at com.atlassian.jira.bc.issue.DefaultIssueService.validateAndUpdateIssueFromFields(DefaultIssueService.java:680)
              at com.atlassian.jira.bc.issue.DefaultIssueService.validateUpdate(DefaultIssueService.java:286)
              ... 3 filtered
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
              at com.sun.proxy.$Proxy282.validateUpdate(Unknown Source)
              ... 3 filtered
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
              at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
              at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
              at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
              at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
              at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
              at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
              at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
              at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
              at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
              at com.sun.proxy.$Proxy4867.validateUpdate(Unknown Source)
              at com.atlassian.servicedesk.internal.customfields.participants.ParticipantsCustomFieldManagerImpl.updateUserParticipants(ParticipantsCustomFieldManagerImpl.java:110)
              at com.atlassian.servicedesk.internal.feature.reqparticipants.field.RequestParticipantsInternalManagerImpl.updateParticipantsField(RequestParticipantsInternalManagerImpl.java:110)
              at com.atlassian.servicedesk.internal.feature.reqparticipants.field.RequestParticipantsInternalManagerImpl.lambda$addParticipants$5(RequestParticipantsInternalManagerImpl.java:71)
              at com.atlassian.pocketknife.EitherStep2.lambda$null$62(EitherStep2.java:23)
              at com.atlassian.fugue.Either$RightProjection.flatMap(Either.java:839)
              at com.atlassian.fugue.Either.flatMap(Either.java:294)
              at com.atlassian.pocketknife.EitherStep2.lambda$then$63(EitherStep2.java:23)
              at com.atlassian.fugue.Either$RightProjection.flatMap(Either.java:839)
              at com.atlassian.fugue.Either.flatMap(Either.java:294)
              at com.atlassian.pocketknife.EitherStep2.then(EitherStep2.java:23)
              at com.atlassian.servicedesk.internal.feature.reqparticipants.field.RequestParticipantsInternalManagerImpl.addParticipants(RequestParticipantsInternalManagerImpl.java:67)
              at com.atlassian.servicedesk.internal.feature.reqparticipants.field.RequestParticipantsInternalServiceImpl.lambda$addParticipants$3(RequestParticipantsInternalServiceImpl.java:89)
              at com.atlassian.fugue.Either$RightProjection.flatMap(Either.java:839)
              at com.atlassian.fugue.Either.flatMap(Either.java:294)
              at com.atlassian.pocketknife.EitherStep1.then(EitherStep1.java:21)
              at com.atlassian.servicedesk.internal.feature.reqparticipants.field.RequestParticipantsInternalServiceImpl.addParticipants(RequestParticipantsInternalServiceImpl.java:89)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfu$$$$212135bc1d26e9f51fd57b9757afff$$$$nonfun$apply$11$$anonfun$apply$12.apply(PortalParticipantResource.scala:124)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfu$$$$212135bc1d26e9f51fd57b9757afff$$$$nonfun$apply$11$$anonfun$apply$12.apply(PortalParticipantResource.scala:123)
              at scalaz.$bslash$div.flatMap(Either.scala:134)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8$$anonfun$apply$9$$anonfun$apply$11.apply(PortalParticipantResource.scala:123)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8$$anonfun$apply$9$$anonfun$apply$11.apply(PortalParticipantResource.scala:122)
              at scalaz.$bslash$div.flatMap(Either.scala:134)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8$$anonfun$apply$9.apply(PortalParticipantResource.scala:122)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8$$anonfun$apply$9.apply(PortalParticipantResource.scala:121)
              at scalaz.$bslash$div.flatMap(Either.scala:134)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8.apply(PortalParticipantResource.scala:121)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8.apply(PortalParticipantResource.scala:120)
              at scalaz.$bslash$div.flatMap(Either.scala:134)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7.apply(PortalParticipantResource.scala:120)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6$$anonfun$apply$7.apply(PortalParticipantResource.scala:119)
              at scalaz.$bslash$div.flatMap(Either.scala:134)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6.apply(PortalParticipantResource.scala:119)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2$$anonfun$apply$6.apply(PortalParticipantResource.scala:118)
              at scalaz.$bslash$div.flatMap(Either.scala:134)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2.apply(PortalParticipantResource.scala:118)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource$$anonfun$2.apply(PortalParticipantResource.scala:117)
              at scalaz.$bslash$div.flatMap(Either.scala:134)
              at com.atlassian.servicedesk.internal.rest.PortalParticipantResource.addParticipants(PortalParticipantResource.scala:117)
              ... 3 filtered
              at java.lang.reflect.Method.invoke(Method.java:498)
              ... 19 filtered
              at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
              ... 1 filtered
              at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
              ... 33 filtered
              at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31)
              ... 4 filtered
              at com.atlassian.servicedesk.internal.web.UrlOperationalStatusCheckFilter.doFilterWhenLicensed(UrlOperationalStatusCheckFilter.java:38)
              at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31)
              ... 4 filtered
              at com.atlassian.servicedesk.internal.web.PopulateEyeballForRestFilter.doFilterWhenLicensed(PopulateEyeballForRestFilter.java:33)
              at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31)
              ... 8 filtered
              at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
              ... 53 filtered
              at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:76)
              ... 1 filtered
              at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:74)
              ... 16 filtered
              at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
              ... 20 filtered
              at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
              ... 5 filtered
              at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181)
              at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:142)
              at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.runInContext(ReentrantThreadLocalBasedCodeContext.java:57)
              at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runInCustomerContext(CustomerContextServiceImpl.java:38)
              at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.inCustomerContext(CustomerContextSettingFilter.java:169)
              at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:128)
              at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:121)
              ... 4 filtered
              at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32)
              ... 8 filtered
              at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
              ... 4 filtered
              at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
              ... 29 filtered
              at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
              ... 27 filtered
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              at java.lang.Thread.run(Thread.java:745)
      
      
      

      Steps to Reproduce

      • Install and license JIRA Core, JIRA Service Desk, and JIRA Software
      • Create JIRA Service Desk project, allow customers to add participants through portal
      • Create Scrum board based off of existing JSD project.
      • Create 2nd user
      • Reproduce Lexorank error by running below SQL:
        • DELETE FROM "AO_60DB71_LEXORANK" WHERE "TYPE" IN (0,2);
      • Create issue in portal
      • Attempt to add 2nd user to request using the "Share" button in the portal.

      Expected Behavior

      • Able to add participants despite lexorank error

      Workaround

      • Resolve the Lexorank error then try to add participants

            [JSDSERVER-4388] Unable to share request through portal due to lexorank error

            I have the same issue, my customers in Jira Service Desk Cloud can not share tickets time to time. When i log in into their accounts i can share.

            This is what they experience :
            1. I am able to create a ticket but unable to share with anyone in the first attempt. 
            2. After receiving first response from the service desk, after logging in to the ticket, I am able to share with any one contact but randomly. But unable to share with multiple contacts at the same time. 
            3. After sharing with this one contact, unable to share with additional contacts, even if I try to add one by one.

            Please let me know how to fix this. Is this permission related?

            Br,

            Toros.

            toros.turkeli added a comment - I have the same issue, my customers in Jira Service Desk Cloud can not share tickets time to time. When i log in into their accounts i can share. This is what they experience : 1. I am able to create a ticket but unable to share with anyone in the first attempt.  2. After receiving first response from the service desk, after logging in to the ticket, I am able to share with any one contact but randomly. But unable to share with multiple contacts at the same time.  3. After sharing with this one contact, unable to share with additional contacts, even if I try to add one by one. Please let me know how to fix this. Is this permission related? Br, Toros.

            Hi siddhesh.mhetre9485 and anyone else who encounters this.

            This issue is caused by JIRA not being able to rank the issue. There are multiple reasons why JIRA may not be able to rank an issue, the logs would provide detail. We have KB articles for many errors and you may find a solution just by searching Google for the error you encounter.

            • Do not attach logs to this ticket. This ticket is visible to anyone and logs may contain sensitive information.

            You will be able to share the issue after fixing the ranking error(s). You may be encountering a different issue if you do not find any ranking errors in the logs.

            If you require further assistance you can reach out to our support team at support.atlassian.com.

            Cheers!
            Tim | Atlassian

            Tim Evans (Inactive) added a comment - Hi siddhesh.mhetre9485 and anyone else who encounters this. This issue is caused by JIRA not being able to rank the issue. There are multiple reasons why JIRA may not be able to rank an issue, the logs would provide detail. We have KB articles for many errors and you may find a solution just by searching Google for the error you encounter. Do not attach logs to this ticket. This ticket is visible to anyone and logs may contain sensitive information. You will be able to share the issue after fixing the ranking error(s). You may be encountering a different issue if you do not find any ranking errors in the logs. If you require further assistance you can reach out to our support team at support.atlassian.com. Cheers! Tim | Atlassian

            I got similar issue, please give the solution on the same!

            Siddheshwar Mhetre added a comment - I got similar issue, please give the solution on the same!

              lgoodhewcook Lachlan G (Inactive)
              tevans Tim Evans (Inactive)
              Affected customers:
              1 This affects my team
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: