Hi list, hi Thorsten,

First of all, thanks Thorsten for your work on the Crowd 2 plugin! I decided to
give it a try, but I noticed that pages were loading really really
slow when I was
logged in. So I took a look at the communication between Jenkins and Crowd:

# ngrep HTTP 'host crowd and port 80' | egrep '^  (GET|POST)'

It looks like multiple Crowd REST API calls are made for _every_ request to
Jenkins. They look like this:

  POST /crowd/rest/usermanagement/1/session/SESSIONID ...
  GET /crowd/rest/usermanagement/1/session/SESSIONID?expand=user ...
  GET /crowd/rest/usermanagement/1/group?groupname=GROUPNAME ...
  GET 
/crowd/rest/usermanagement/1/group/user/direct?groupname=GROUPNAME&username=USERNAME
...
  GET 
/crowd/rest/usermanagement/1/user/group/direct?username=USERNAME&start-index=0&max-results=500&expand=group
...
  GET 
/crowd/rest/usermanagement/1/user/group/direct?username=USERNAME&start-index=500&max-results=500&expand=group
...
  GET 
/crowd/rest/usermanagement/1/user/group/nested?username=USERNAME&start-index=0&max-results=500&expand=group
...
  GET 
/crowd/rest/usermanagement/1/user/group/nested?username=USERNAME&start-index=500&max-results=500&expand=group
...

Could these requests come from a misconfiguration, or is that just how
the plugin currently works?  Should that information not be cached?

(The difference in the number of Crowd calls per HTTP requests with nested
groups disabled is negligible, by the way.)

Cheers,
Uwe

Reply via email to