Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 426926

Summary: [server] IOrionCredentialsService.getUsersByProperty("openid",...) performance problem
Product: [ECD] Orion Reporter: Anthony Hunter <ahunter.eclipse>
Component: ServerAssignee: Anthony Hunter <ahunter.eclipse>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 5.0   
Target Milestone: 5.0 RC1   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on:    
Bug Blocks: 426177    

Description Anthony Hunter CLA 2014-01-29 12:06:23 EST
Create an Orion server with 100,000 user accounts. Associate a Personna openid with an account starting with 'z', for example an account named zeus.

When you try to log into the the Orion server, your email is verified through the Mozilla Personna dialog, but then there is on average an over eight second delay until you are logged in. The Orion login screen sits with no progress indication.

The login delay is directly related to the alphabetical order of your userid because of a performance issue of the call:
IOrionCredentialsService.getUser("email", email);

Every user needs to be scanned to look for a matching userid.
Comment 1 Anthony Hunter CLA 2014-01-29 12:08:30 EST
The commit:
http://git.eclipse.org/c/orion/org.eclipse.orion.server.git/commit/?id=611eeb439811c3a9251ac5e0c0cc0099fed0df49
Added a Map of openid to userids for an openid cache.

Starting this new server reduces the response of the
http://vottachubuntu.ottawa.ibm.com:8080/login/persona
call from over 8 seconds to consistently around 500ms
Comment 2 Anthony Hunter CLA 2014-01-29 12:12:47 EST
That should have been:

Starting this new server reduces the response of the
http://vottachubuntu.ottawa.ibm.com:8080/login/openid
call from over 8 seconds to consistently around 900ms