Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-7063

Global Permission fails to be set to group name containing comma

    XMLWordPrintable

    Details

      Description

      Summary

      Global Permission fails to be set to group name containing comma.

      Environment

      • Syncing users and groups from Crowd 3.1.1

      Steps to Reproduce

      1. Add a group with comma character, such as "dl-TEST-NAME, PROJECT", in Crowd, then associate users with it, and make sure that a Fisheye application is allowing that group to authenticate.
      2. Add Crowd as User Directory in Fisheye
      3. Note that this group gets synced correctly:
      4. Click the group name and see that it contains the correct users:
      5. Go to Global Permissions, click the search field and note that the group is listed correctly:
      6. Click the group name and note that it is added to the search box as a single group:
      7. Now click the Add button and see that the page refreshes and the group name is split in two, in the comma character, and that there's an error message saying Cannot add dl-test-name", "project:

      Expected Results

      Global Permission should allow using comma character in the group name.

      Actual Results

      • An error is shown in the web interface and the group is not granted permission.
      • The below exception is thrown in the atlassian-fisheye.log file:
        2018-07-05 18:26:03,820 DEBUG [qtp1096485705-235 ] fisheye ExceptionLoggerUtil-logDebug - Exception thrown during REST request:Group dl-test-name not found User: fkraemer Referrer:http://localhost:8060/plugins/servlet/admin/globalpermissions?_redir=login
        java.lang.IllegalArgumentException: Group dl-test-name not found
        	at com.atlassian.crucible.spi.impl.DefaultGlobalPermissionService.validateGroup(DefaultGlobalPermissionService.java:64) [fisheye.jar:?]
        	at com.atlassian.crucible.spi.impl.DefaultGlobalPermissionService.addGroupPermission(DefaultGlobalPermissionService.java:80) [fisheye.jar:?]
        	at sun.reflect.GeneratedMethodAccessor627.invoke(Unknown Source) [?:?]
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_111]
        	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_111]
        	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at com.cenqua.crucible.hibernate.WithSessionAspect.doCloseSession(WithSessionAspect.java:56) [fisheye.jar:?]
        	at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) [?:?]
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_111]
        	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_111]
        ...
        2018-07-05 18:26:03,834 DEBUG [qtp1096485705-238 ] fisheye ExceptionLoggerUtil-logDebug - Exception thrown during REST request:Group project not found User: fkraemer Referrer:http://localhost:8060/plugins/servlet/admin/globalpermissions?_redir=login
        java.lang.IllegalArgumentException: Group project not found
        	at com.atlassian.crucible.spi.impl.DefaultGlobalPermissionService.validateGroup(DefaultGlobalPermissionService.java:64) [fisheye.jar:?]
        	at com.atlassian.crucible.spi.impl.DefaultGlobalPermissionService.addGroupPermission(DefaultGlobalPermissionService.java:80) [fisheye.jar:?]
        	at sun.reflect.GeneratedMethodAccessor627.invoke(Unknown Source) [?:?]
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_111]
        	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_111]
        	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
        	at com.cenqua.crucible.hibernate.WithSessionAspect.doCloseSession(WithSessionAspect.java:56) [fisheye.jar:?]
        	at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) [?:?]
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_111]
        	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_111]
        

        See the log file debug_logging.log attached for full debug logging around the issue.

      Notes

      • Fisheye does not allow creating group names with comma, but allows group names with comma to be synced from external user directories.

      Workaround

      • Do not use group names with comma.

        Attachments

        1. debug_logging.log
          143 kB
          Felipe Kraemer
        2. Screen Shot 2018-07-05 at 18.05.56.png
          118 kB
          Felipe Kraemer
        3. Screen Shot 2018-07-05 at 18.06.09.png
          120 kB
          Felipe Kraemer
        4. Screen Shot 2018-07-05 at 18.06.18.png
          145 kB
          Felipe Kraemer
        5. Screen Shot 2018-07-05 at 18.12.33.png
          50 kB
          Felipe Kraemer
        6. Screen Shot 2018-07-05 at 18.12.41.png
          82 kB
          Felipe Kraemer

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            fkraemer Felipe Kraemer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: