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

Provide event-driven updates for Crowd-integrated applications.

    • Icon: Suggestion Suggestion
    • Resolution: Fixed
    • 2.4
    • Caching
    • 3
    • 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.

      At present, Crowd-integrated clients such as JIRA or Confluence, will not see changes made in Crowd until their Crowd cache expires.

      This default value is set to 1 hour (3600 seconds) in the application's WEB-INF/classes/crowd-ehcache.xml file. User can reduce these values to cause faster updates (e.g. 300 seconds). However, this may cause serious performance degradation (especially in JIRA).

      Changes made to users and groups via the Crowd client application (e.g. JIRA) will be immediately available in the application in Crowd.

      In the future, we need to have Crowd send event notifications to these client applications for smaller cache updates. This will not only resolve this problem but help with Crowdified application performance as well.

            [CWD-1283] Provide event-driven updates for Crowd-integrated applications.

            we're using crowd with ldap and our own PKI login. When a user accesses JIRA the first time, he can login ok, but he's not known to jira until the cache expires. So he sees that he's logged in, but he has no rights...

            The best would really be to implement an event-drived cached that could say "i have a new user, let's have jira reload its cache"
            1 vote for me (with 2000 licenses, so a big vote"

            Olivier Bourquin added a comment - we're using crowd with ldap and our own PKI login. When a user accesses JIRA the first time, he can login ok, but he's not known to jira until the cache expires. So he sees that he's logged in, but he has no rights... The best would really be to implement an event-drived cached that could say "i have a new user, let's have jira reload its cache" 1 vote for me (with 2000 licenses, so a big vote"

            Ivar added a comment -

            +1 on this for me as well.
            I did some changes in Crowd. Suddenly I was able to authenticate the users in Crowd->Application->Test auth., but the same user was unable to log into Jira. Reason: Jira cache missed groups. Changes to Crowd should instantly be pushed to Jira.

            Ivar added a comment - +1 on this for me as well. I did some changes in Crowd. Suddenly I was able to authenticate the users in Crowd- >Application ->Test auth., but the same user was unable to log into Jira. Reason: Jira cache missed groups. Changes to Crowd should instantly be pushed to Jira.

            Approach for solving this: https://studio.atlassian.com/browse/NOT

            David O'Flynn [Atlassian] added a comment - Approach for solving this: https://studio.atlassian.com/browse/NOT

            I would also like this issue resolved.

            It is very frustrating to have to wait an hour between adding a user to Crowd, and being able to tell them that they are able to log into JIRA.

            Also frustrating having to wait an hour between setting up user groups in Active Directory, and being able to use them to apply permissions on JIRA projects.

            Gavin Smith added a comment - I would also like this issue resolved. It is very frustrating to have to wait an hour between adding a user to Crowd, and being able to tell them that they are able to log into JIRA. Also frustrating having to wait an hour between setting up user groups in Active Directory, and being able to use them to apply permissions on JIRA projects.

            I'd like to echo a strong desire for this. Confluence (3.1) does now have the ability to invalidate the cache. I'm surprised such an old issue has not yet been addressed, especially given how easy this would be to do with ehcache. Atlassian?

            Brian Clark added a comment - I'd like to echo a strong desire for this. Confluence (3.1) does now have the ability to invalidate the cache. I'm surprised such an old issue has not yet been addressed, especially given how easy this would be to do with ehcache. Atlassian?

            shihab added a comment -

            In Crowd 2.1, with the conjunction of Confluence 3.5 / JIRA 4.3, the caching of the userbase will occur in the Confluence/JIRA databases. JIRA and Confluence will periodically poll Crowd and update the DB cache in a background thread. The polling interval will be customisable. To give you a rough idea, a 10k userbase will take 5 mins to sync. The option to manually kick off a sync in JIRA and Confluence will also be available. This solution should resolve a lot of pain points discussed in the comments of this issue.

            Note that this will still not resolve the original issue of providing event-driven or delta cache updates. There are concerns about reliability and correctness when implementing event driven updates that still need to be addressed.

            shihab added a comment - In Crowd 2.1, with the conjunction of Confluence 3.5 / JIRA 4.3, the caching of the userbase will occur in the Confluence/JIRA databases. JIRA and Confluence will periodically poll Crowd and update the DB cache in a background thread. The polling interval will be customisable. To give you a rough idea, a 10k userbase will take 5 mins to sync. The option to manually kick off a sync in JIRA and Confluence will also be available. This solution should resolve a lot of pain points discussed in the comments of this issue. Note that this will still not resolve the original issue of providing event-driven or delta cache updates. There are concerns about reliability and correctness when implementing event driven updates that still need to be addressed.

            There doesn't seem to be much activity on this issue despite the significant impact it has on user administration. When evaluating this issue for a future release of JIRA or Crowd please consider the performance and security implications. Changes to users' permissions or lockout state should be instantaneous from a security context. Similarly, helping users with changes to passwords, groups and privileges is extremely frustrating when they are on the phone or in person. The options to wait an hour or dump all users while the application is bounced don't incite confidence.

            Greg Jaeger added a comment - There doesn't seem to be much activity on this issue despite the significant impact it has on user administration. When evaluating this issue for a future release of JIRA or Crowd please consider the performance and security implications. Changes to users' permissions or lockout state should be instantaneous from a security context. Similarly, helping users with changes to passwords, groups and privileges is extremely frustrating when they are on the phone or in person. The options to wait an hour or dump all users while the application is bounced don't incite confidence.

            Waiting one hour for the cache to be invalid or restarting the application isn't very cool. I'm looking forward for a fix/update.

            Alexander Seith added a comment - Waiting one hour for the cache to be invalid or restarting the application isn't very cool. I'm looking forward for a fix/update.

            Sam Berlin added a comment -

            An invalidate cache option in JIRA really would be an excellent quick fix to this. And it really does need a quick fix.

            Sam Berlin added a comment - An invalidate cache option in JIRA really would be an excellent quick fix to this. And it really does need a quick fix.

            I have this problem in Confluence

            I added a new group in Crowd and want to assign permissions to that group for a space. But browsing groups doesn't show it, and although when I search for a group the group shows up as the result of a query, if I then add that group it says the group doesn't exist.

            As it's been over an hour, the only thing I can think to do is shut down Confluence and restart it and hope that that fixes the problem with the cache. Not great.

            Jeff Mitchell added a comment - I have this problem in Confluence I added a new group in Crowd and want to assign permissions to that group for a space. But browsing groups doesn't show it, and although when I search for a group the group shows up as the result of a query, if I then add that group it says the group doesn't exist. As it's been over an hour, the only thing I can think to do is shut down Confluence and restart it and hope that that fixes the problem with the cache. Not great.

              onevalainen Olli Nevalainen
              donna@atlassian.com DonnaA
              Votes:
              67 Vote for this issue
              Watchers:
              47 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 0.85h
                  0.85h