Issue Details (XML | Word | Printable)

Key: CWD-772
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: David O'Flynn [Atlassian]
Reporter: Donna McGahan [Atlassian]
Votes: 13
Watchers: 8
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Crowd

Crowd client libraries and caching need further review to improve JIRA performance

Created: 30/Jan/08 05:54 PM   Updated: 18/Dec/08 05:38 PM
Component/s: Caching
Affects Version/s: None
Fix Version/s: 1.6

Time Tracking:
Original Estimate: Not Specified
Remaining Estimate: 0h
Time Spent - 4h
Time Spent: 4h
Time Spent - 4h

Issue Links:
Part
 
Reference
 

Participants: Aggelos Paraskevopoulos, arno koehler, David O'Flynn [Atlassian], Donna McGahan [Atlassian], Eric Anderson, Graham Bakay, Lanye and Michael Ball
Since last comment: 28 weeks, 2 days ago
Resolution Date: 17/Dec/08 11:54 PM
Labels:


 Description  « Hide
Due to JIRA's use of OSUser framework for user management, all users, groups and memberships are requested during common actions like Add Project. If Crowd integration is using a large directory, this can cause serious degradation in JIRA performance. The Crowd client libraries may not be caching this data effectively to help rectify this problem.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
David O'Flynn [Atlassian] added a comment - 03/Jun/08 01:40 AM - edited
Some test results that may be of interest.

Setup

  • JIRA & Crowd on one machine.
  • Internal directory with 1 user in PostgreSQL on same machine.
  • Active Directory 2003 in a VM on a different machine. This is a slow server.
  • Just over 2000 users in AD instance.
  • SSL not enabled.

Reloading the User Cache

  • Before: 55-60 seconds.
  • After: 2-3 seconds.

Your results will vary depending on your configuration, the size of your directory instance, and on how fast it is.


Eric Anderson added a comment - 07/Aug/08 09:40 PM
When are we going to see a fix for this if its not done yet?

And will we see another 1.4 point release for this or am I going to have to risk even more new features on our production systems in order to get the bug fixes?


Donna McGahan [Atlassian] added a comment - 07/Aug/08 10:59 PM
Hi Eric,

I have re-opened this because, JIRA's cache will expire on a periodic basis which may cause serious performance hits until the cache has been rebuilt. I think we still have some investigation to do with regard to smarter cache updating. Unfortunately, I cannot provide an estimated fix version for this at this time. I'm hoping to discuss this with the dev team next week to see where we can fit this in the road map or, perhaps, if I should raise a new, more specific issue for this.

I know you experienced some issues with JIRA integration and Crowd's nested-groups capability in the 1.4 release, which we were able to resolve. I completely understand your hesitancy to upgrade to a new major release as a result of this. Please know the team is working hard to provide a smooth 1.5 release.

Cheers,
Donna


arno koehler added a comment - 29/Sep/08 04:38 AM
I seriously hope you are going to change something in the next release.

Since we have used the crowd-ehcache.xml file as was advised by the upgrade guide; we are facing slow updates of jira and confluence.
If we add a user or group to crowd, it now takes like 10 to 30 minutes before I actually see the user or group.
Very annoying if you want to add the group to a permission scheme directly.


Michael Ball added a comment - 29/Sep/08 06:16 AM
We have JIRA 3.12.3, Crowd 1.4 and Confluence 2.8.2

Our performance is great, we have over 4000 users. We upgraded recently.

We forgot to put the new crowd client libraries in Confluence and Jira and it was still slow, but once we did that it was much better.

I don't know why our experience was different.


David O'Flynn [Atlassian] added a comment - 29/Sep/08 09:48 PM

I seriously hope you are going to change something in the next release.

We're working on this as the top priority for Crowd 1.6. We're still in the investigation phase, so I can't tell you exactly what form the solution will take. But one will come


Graham Bakay added a comment - 29/Oct/08 11:43 AM
We also still get a bit of a hit, even with the new crowd libs. It's not awful, but if you happen to be using JIRA when the cache expires, it's a bit of a wait. FYI, we have ~8000 users.

I know the design of JIRA necessitates having a copy of all the user data all the time, so I'm not sure what direction you'll need to go. My (unsolicited) suggestion would be to somehow anticipate a cache expiry and have the client update the cache in the background, before the cache actually expires.

g.


Lanye added a comment - 16/Dec/08 03:30 AM
The application cache causes delay between JIRA and Crowd which is really inconvenient. It is glad to see that you've put it as the top priority for Crowd 1.6. We'd like to know when is Crowd 1.6 going to be released? Is there any plan for it yet?
Thanks very much.

David O'Flynn [Atlassian] added a comment - 16/Dec/08 03:14 PM
We're planning to have Crowd 1.6 out before Christmas.

David O'Flynn [Atlassian] added a comment - 17/Dec/08 11:54 PM
Hi folks,

Crowd 1.6 is now available at the Crowd Download Centre. While we've not made major changes to the client libraries, we have implemented a caching for Active Directory and ApacheDS on the server, which should solve most people's JIRA performance issues.

I'm going to close this issue. If, after upgrading to 1.6, you're still experiencing problems, please either contact support or open a JIRA ticket specific to your directory or configuration.

Regards,
Dave.
Crowd Product Manager.

ps: Merry Christmas


Aggelos Paraskevopoulos added a comment - 18/Dec/08 05:07 AM
David,

is the event-based caching mechanism planned or investigated also for OpenLDAP? I can see from the following quote that persistent searches are somehow supported.

For those who care, OpenLDAP introduced persistent search in its implementation of pull or sync replication (syncrepl) in OpenLDAP 2.2 a couple of years ago. We've considered surfacing it for enterprise use when customers have been curious but none have really pressed for the capability.

Cheers,
Aggelos


David O'Flynn [Atlassian] added a comment - 18/Dec/08 03:11 PM
Hi Aggelos,

We're planning on investigating it for OpenLDAP, but we don't have a specific timeframe. Please feel free to create an issue for it.

Unfortunately, sync replication and persistent search are different mechanisms, and it appears that OpenLDAP doesn't expose the Persistent Search control. Although, since there are so many ways to configure OpenLDAP, it's possible that we simply haven't managed to set one of our test instances up to correctly expose it.

Cheers,
Dave.