java.lang.RuntimeException: database error getting justadmin from fisheye DB:User named justadmin already exists.

Atlassian JIRA | James Roper [Atlassian] | 9 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    The following Exception was found in the FishEye logs after trying to perform a trusted apps call on FishEye, and FishEye returned status 500: {noformat} java.lang.RuntimeException: database error getting justadmin from fisheye DB:User named justadmin already exists. at com.atlassian.fisheye.trustedapplications.FisheyeUserResolver.resolve(FisheyeUserResolver.java:21) at com.atlassian.seraph.filter.TrustedApplicationsFilter$AuthenticatorImpl.authenticate(TrustedApplicationsFilter.java:459) at com.atlassian.seraph.filter.TrustedApplicationsFilter.authenticate(TrustedApplicationsFilter.java:133) at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:110) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136) at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:39) at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) {noformat} What appears to be happening is that if a Crowd user has never accessed FishEye before, they get put in the database. If two requests by the same user arrive concurrently, then this error may occur, it seems to be a concurrency issue in UserManager. Two requests arriving concurrently is not an impossible thing to happen, as both the JIRA Studio global search and Activity Streams issue two concurrent requests, one for Crucible, one for FishEye, during their normal operation. If that user has never accessed FishEye before (highly possible in both cases, particularly in JIRA Studio where there are some users that never interact with FishEye directly) then the above exception occurs intermittently. This bug has been causing JIRA Studio functional tests to fail intermittently for quite a while now.

    Atlassian JIRA | 9 years ago | James Roper [Atlassian]
    java.lang.RuntimeException: database error getting justadmin from fisheye DB:User named justadmin already exists.
  2. 0

    The following Exception was found in the FishEye logs after trying to perform a trusted apps call on FishEye, and FishEye returned status 500: {noformat} java.lang.RuntimeException: database error getting justadmin from fisheye DB:User named justadmin already exists. at com.atlassian.fisheye.trustedapplications.FisheyeUserResolver.resolve(FisheyeUserResolver.java:21) at com.atlassian.seraph.filter.TrustedApplicationsFilter$AuthenticatorImpl.authenticate(TrustedApplicationsFilter.java:459) at com.atlassian.seraph.filter.TrustedApplicationsFilter.authenticate(TrustedApplicationsFilter.java:133) at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:110) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136) at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:39) at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) {noformat} What appears to be happening is that if a Crowd user has never accessed FishEye before, they get put in the database. If two requests by the same user arrive concurrently, then this error may occur, it seems to be a concurrency issue in UserManager. Two requests arriving concurrently is not an impossible thing to happen, as both the JIRA Studio global search and Activity Streams issue two concurrent requests, one for Crucible, one for FishEye, during their normal operation. If that user has never accessed FishEye before (highly possible in both cases, particularly in JIRA Studio where there are some users that never interact with FishEye directly) then the above exception occurs intermittently. This bug has been causing JIRA Studio functional tests to fail intermittently for quite a while now.

    Atlassian JIRA | 9 years ago | James Roper [Atlassian]
    java.lang.RuntimeException: database error getting justadmin from fisheye DB:User named justadmin already exists.

    Root Cause Analysis

    1. java.lang.RuntimeException

      database error getting justadmin from fisheye DB:User named justadmin already exists.

      at com.atlassian.fisheye.trustedapplications.FisheyeUserResolver.resolve()
    2. com.atlassian.fisheye
      FisheyeUserResolver.resolve
      1. com.atlassian.fisheye.trustedapplications.FisheyeUserResolver.resolve(FisheyeUserResolver.java:21)
      1 frame
    3. com.atlassian.seraph
      TrustedApplicationsFilter.doFilter
      1. com.atlassian.seraph.filter.TrustedApplicationsFilter$AuthenticatorImpl.authenticate(TrustedApplicationsFilter.java:459)
      2. com.atlassian.seraph.filter.TrustedApplicationsFilter.authenticate(TrustedApplicationsFilter.java:133)
      3. com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:110)
      3 frames
    4. Spring
      DelegatingFilterProxy.doFilter
      1. org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
      2. org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
      2 frames
    5. Jetty Server
      ServletHandler$Chain.doFilter
      1. org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      1 frame
    6. com.cenqua.fisheye
      UpfrontFilter.doFilter
      1. com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:39)
      1 frame
    7. Jetty Server
      SelectChannelEndPoint.run
      1. org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      2. org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
      3. org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      4. org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      5. org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
      6. org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
      7. org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
      8. org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      9. org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
      10. org.mortbay.jetty.Server.handle(Server.java:324)
      11. org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
      12. org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
      13. org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
      14. org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
      15. org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
      16. org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
      16 frames
    8. Jetty Util
      BoundedThreadPool$PoolThread.run
      1. org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
      1 frame