Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-2675

Improve logging of remote exceptions in RestCrowdClient

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Fixed
    • 2.6.1
    • None
    • None
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      The logging of error messages that are received in the REST response from Crowd by the RestCrowdClient doesn't make it clear that the error message is coming from the remote system. This is confusing and is leading to issues in support where it's hard to figure out what exactly is going on in which system.

      An example from a recent FishEye support case. The customer opened a support issue with FishEye logs in which it appears that FishEye has run out of heap space:

      com.atlassian.crowd.exception.OperationFailedException: Java heap space
              at com.atlassian.crowd.integration.rest.service.RestCrowdClient.handleCommonExceptions(RestCrowdClient.java:1084)
              at com.atlassian.crowd.integration.rest.service.RestCrowdClient.getNamesOfNestedUsersOfGroup(RestCrowdClient.java:677)
              at com.cenqua.fisheye.user.crowd.CrowdAuth$6.call(CrowdAuth.java:405)
              at com.cenqua.fisheye.user.crowd.CrowdAuth$6.call(CrowdAuth.java:403)
              at com.cenqua.fisheye.user.crowd.CrowdAuth.withTimer(CrowdAuth.java:92)
              at com.cenqua.fisheye.user.crowd.CrowdAuth.getUsersInGroup(CrowdAuth.java:403)
              at com.cenqua.fisheye.user.DefaultUserManager$16.write(DefaultUserManager.java:1057)
              at com.cenqua.fisheye.user.DefaultUserManager$16.write(DefaultUserManager.java:1050)
              at com.cenqua.fisheye.config.DB0Handle$2.write(DB0Handle.java:122)
              at com.cenqua.fisheye.config.DB0Handle.write(DB0Handle.java:96)
              at com.cenqua.fisheye.config.DB0Handle.write(DB0Handle.java:120)
              at com.cenqua.fisheye.user.DefaultUserManager.getUsersInGroup(DefaultUserManager.java:1050)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
              at $Proxy25.getUsersInGroup(Unknown Source)
      

      While it is actually Crowd that has run out of heap space and is letting FishEye know what is wrong. A lot of confusion could have been avoided if the log had simply said: Error message from Crowd: Java heap space

      Attachments

        Issue Links

          Activity

            People

              jwalton joe
              mheemskerk Michael Heemskerk (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: