grouper-users - Re: [grouper-users] REST interface performance
Subject: Grouper Users - Open Discussion List
List archive
- From: Tim Darby <>
- To: Chris Hyzer <>
- Cc: "" <>
- Subject: Re: [grouper-users] REST interface performance
- Date: Wed, 31 Jul 2013 09:10:25 -0700
The University of Arizona
Mosaic, Systems Integration and Architecture
UITS, Rm 335, 520-626-3799
Yeah, should have mentioned this earlier, sorry… the getGrouperPrivilegesLite WS uses the privilege resolver interface, and is not efficient at all for that type of query (groups for a user). The other operations can do privilege fields, and should be quicker. For instance, in this case, you could do something like this:
[mchyzer@flash pennGroupsClient-2.0.0]$ java -jar grouperClient.jar --operation=getGroupsWs --subjectIdentifiers=jsmith --fieldName=admins --debug=true
DEBUG: Reading resource: grouper.client.properties, from: /home/mchyzer/grouper/pennGroupsClient-2.0.0/grouper.client.properties
DEBUG: WebService: connecting as user: 'fast/medley.isc-seo.upenn.edu'
DEBUG: WebService: connecting to URL: 'https://grouperws.school.edu/grouperWs/servicesRest/v2_0_000/subjects'
################ REQUEST START (indented) ###############
POST /grouperWs/servicesRest/v2_0_000/subjects HTTP/1.1
Connection: close
Authorization: Basic xxxxxxxxxxxxxxxx
User-Agent: Jakarta Commons-HttpClient/3.1
Host: grouperws.school.edu:-1
Content-Length: 212
Content-Type: text/xml; charset=UTF-8
<WsRestGetGroupsRequest>
<subjectLookups>
<WsSubjectLookup>
<subjectIdentifier>jsmith</subjectIdentifier>
</WsSubjectLookup>
</subjectLookups>
<enabled>T</enabled>
<fieldName>admins</fieldName>
</WsRestGetGroupsRequest>
################ REQUEST END ###############
################ RESPONSE START (indented) ###############
HTTP/1.1 201 Created
Date: Wed, 31 Jul 2013 15:25:11 GMT
Server: Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8o proxy_html/3.1.2 mod_jk/1.2.31 PHP/5.2.17
Set-Cookie: JSESSIONID=xxxxxxxxxxxx; Secure
X-Grouper-resultCode: SUCCESS
X-Grouper-success: T
X-Grouper-resultCode2: NONE
Vary: Accept-Encoding
Content-Length: 3959
Connection: close
Content-Type: text/xml;charset=UTF-8
<WsGetGroupsResults>
<results>
<WsGetGroupsResult>
<wsGroups>
<WsGroup>
<extension>penncard</extension>
<displayExtension>penncard team</displayExtension>
<description>penncard developers</description>
<displayName>jsmith:penncard team</displayName>
<name>jsmith:penncard</name>
<uuid>88c6788504574e9ea853d4eaad3e1966</uuid>
</WsGroup>
<WsGroup>
<extension>secureShareTest</extension>
<displayExtension>secureShareTest</displayExtension>
<description>SecureShare enabled group. Any members in the group will be on the secureShare list for this group</description>
<displayName>mchyzer:secureShareTest</displayName>
<name>mchyzer:secureShareTest</name>
<uuid>eff02b08-3669-4130-88cc-617de579fd9e</uuid>
</WsGroup>
</wsGroups>
<resultMetadata>
<resultCode>SUCCESS</resultCode>
<success>T</success>
</resultMetadata>
<wsSubject>
<identifierLookup>jsmith</identifierLookup>
<resultCode>SUCCESS</resultCode>
<success>T</success>
<id>12345</id>
<name>John Smith</name>
<sourceId>pennperson</sourceId>
</wsSubject>
</WsGetGroupsResult>
</results>
<resultMetadata>
<resultCode>SUCCESS</resultCode>
<resultMessage>Success for: clientVersion: 2.0.0, subjectLookups: Array size: 1: [0]: WsSubjectLookup[subjectIdentifier=jsmith]
memberFilter: All, includeGroupDetail: false, actAsSubject: null
, params: null
fieldName1: admins
, scope: null, wsStemLookup: null
, stemScope: null, enabled: T, pageSize: null, pageNumber: null, sortString: null, ascending: null
, pointInTimeFrom: null, pointInTimeTo: null, field: admins</resultMessage>
<success>T</success>
</resultMetadata>
<responseMetadata>
<resultWarnings></resultWarnings>
<millis>1827</millis>
<serverVersion>2.1.1</serverVersion>
</responseMetadata>
</WsGetGroupsResults>
################ RESPONSE END ###############
DEBUG: Output template: SubjectIndex ${subjectIndex}: success: ${resultMetadata.success}: code: ${resultMetadata.resultCode}: subject: ${wsSubject.id}: groupIndex: ${groupIndex}: ${wsGroup.name}
, available variables: wsGetGroupsResults, grouperClientUtils, subjectIndex, wsGetGroupsResult, resultMetadata, wsSubject, groupIndex, wsGroup
SubjectIndex 0: success: T: code: SUCCESS: subject: 12345: groupIndex: 0: jsmith:penncard
SubjectIndex 0: success: T: code: SUCCESS: subject: 12345: groupIndex: 1: mchyzer:secureShareTest
DEBUG: Elapsed time: 2959ms
[mchyzer@flash pennGroupsClient-2.0.0]$
From: [mailto:] On Behalf Of Tim Darby
Sent: Tuesday, July 30, 2013 8:09 PM
To:
Subject: [grouper-users] REST interface performance
I'm using the get grouper privileges lite interface to get a list of the groups that a given user has admin rights on and basically copied the sample query on the wiki, right down to using actAsSubjectId=GrouperSystem. For a user that has admin rights on 14 groups, this takes on average 3 minutes to return, which seems like a lot of time. Should this be faster?
Tim Darby
The University of Arizona
Mosaic, Systems Integration and Architecture
UITS, Rm 335, 520-626-3799
- [grouper-users] REST interface performance, Tim Darby, 07/30/2013
- RE: [grouper-users] REST interface performance, Chris Hyzer, 07/31/2013
- Re: [grouper-users] REST interface performance, Tim Darby, 07/31/2013
- RE: [grouper-users] REST interface performance, Chris Hyzer, 07/31/2013
Archive powered by MHonArc 2.6.16.