grouper-users - Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber"
Subject: Grouper Users - Open Discussion List
List archive
Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber"
Chronological Thread
- From: Reid Watson <>
- To: "Hyzer, Chris" <>
- Cc: "" <>
- Subject: Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber"
- Date: Wed, 24 Oct 2018 02:07:59 +0000
- Accept-language: en-GB, en-NZ, en-US
- Ironport-phdr: 9a23:jEZpvRNmcwZoF6qo8O0l6mtUPXoX/o7sNwtQ0KIMzox0Ivn+rarrMEGX3/hxlliBBdydt6obzbKO+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxlKiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD+s7bpkSAXwhSkHKTA37X3XhMJzgqJVoh2voB1/zJLbbo6aL/d+YrjSfdYGSWpBQspcVSpMCZ68YYsVCOoBOP5VoZXjqFsPsBS1GAmjC/nzyj9TgX/227Ax3uM7EQ7Y3QwvAsgCsXrOo9XpL6cSVua1wbLSwjXec/xW2jP955LOch88u/2DR65/fdDXyUguDg7IiEibp4/9Pz6Ny+gAvXSX4/B+We6yimMrsRx9riavy8s2lIXEiYMYxkjZ+Sh33Io5P8O0RFN6bNK+DZddtyKXO5F5T886TWFnpiU3xqEDtJO+cigG1Igoyh/aZvOdfYWH/wzvWeORLDtlmX5qZbeyihW2/EWvzOD3S9O630xQriVfl9nBrnAN2ALX6siAUvZ9+0ig1DmW2wDS7OFEPVo4mrDGK5E9wb4wkoAcsULeESPsgkr5kLWadkMl++Sw6uTnZKvppoOEOoNphAzyLr4iltKiDek5KAQCQnaX9OSm2LH98kD0Qa1GjvgsnanYtJDaK94bpqm8AwJNyIYs9Re/ACq83NUWh3YHMElFeBWBj4XyIV7OPez3DfS7g1u2ljdk2urKMaf9DZnXKHjCka/tfaxh5E5E1Aoz0ddf6opbCrEbJ/LzR1fxu8LCDhMgLgy02PjoCM9m1o4FXWKPA7SZML/JsVOW/O4vIu+MZJMLtzbnLfgq+eLugWEjlVADYKapwMhfVHftVNR3MUiDJTLHgs0ACi1C6g81TP34hUeqUCVYIWuqUqQ6oDw3FdT1I53EQ9WXjb2NlBiyAoZRYCgSEF2NHTH3fpmfXPEkYT+ZIctolDBCXLPnTZ13hkLmjxPz17cydrmcwSYfr5+2jNU=
Hi Chris
2.4 would be great, we are looking at upgrading from 2.3 next week. Also our
dev’s made the following comments
"Ran query using the view above. It does not quite meet our requirements.
Looked at other views and found grouper_memberships_v which does give the
"correct" result, namely, the same as per the grouper UI."
Will you base the WS call on “grouper_memberships_lw_v” or
“grouper_memberships_v” view ?
Cheers
Reid
> On 23/10/2018, at 8:04 AM, Hyzer, Chris
> <>
> wrote:
>
> Ive been thinking about this... It would be:
>
> 1. This could either be a new operation or it could just use
> getMemberships() (existing, with additional options to identify as
> lightweight) but the result isn’t quite as full featured, ie. It wouldn’t
> say if direct or indirect and it wouldn’t have the full group objects etc
> 2. If you have inherited READ (or ADMIN), on a folder, and request groups
> in that folder, then your request will be even faster. Or if you check
> only one group. In your case, if you are getting memberships for the
> subject, if the caller is an admin, its fast, otherwise needs to join to
> security tables.
> 3. The fields would be the same as grouper_memberships_lw_v: SUBJECT_ID,
> SUBJECT_SOURCE, GROUP_NAME, LIST_NAME, LIST_TYPE, GROUP_ID, MEMBER_ID.
> Note, could also add SUBJECT_IDENTIFIER, SUBJECT_NAME, SUBJECT_DESCRIPTION
> probably (i.e. stuff in grouper_members table)
> 4. We could have intelligent paging with a large limit on max (so that
> clients could reliably page through results)
> 5. Could cache results or have an option to not cache
> 6. Would not return other info or objects
>
> If we can do this as a low risk patch in 2.4 would you use it in 2.4? 😊
> or would you want for 2.5. We have had other requests for something like
> this, so im interested in it...
>
> Thanks
> Chris
>
>
>
> -----Original Message-----
> From: Reid Watson
> <>
>
> Sent: Sunday, October 21, 2018 4:22 PM
> To: Hyzer, Chris
> <>
> Cc:
>
> Subject: Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships —
> “PageSize and PageNumber"
>
> What would your time expectations be to deliver a lightweight WS version,
> would the solution support the pervious versions or just 2.4 ?
>
>
> > On 19/10/2018, at 2:43 AM, Hyzer, Chris
> > <>
> > wrote:
> >
> > We use that view a lot at penn, might be something you could use. Or we
> > could make a lightweight WS based on this view that doesn’t resolve all
> > those other things to make it a lot fast and more suitable for large
> > queries... thoughts?
> >
> > -----Original Message-----
> > From:
> >
> >
> > <>
> > On Behalf Of Reid Watson
> > Sent: Monday, October 15, 2018 7:52 PM
> > To:
> >
> > Subject: Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships —
> > “PageSize and PageNumber"
> >
> > Today we looked at the following view “grouper_memberships_lw_v — This
> > view contains all memberships (direct, indirect, groups, people, etc).”
> > and it seems this view returns the data required within milliseconds
> > compared to seconds, correct me if Im wrong but this view is used for
> > large list of data and potentially we should integrate the query we
> > require into Grouper-ws.
> >
> > https://spaces.at.internet2.edu/display/Grouper/Grouper+SQL+interface
> >
> > Im just looking for advice on this topic
> >
> > Cheers
> >
> > Reid
> >
> >> On 15/10/2018, at 8:43 PM, Reid Watson
> >> <>
> >> wrote:
> >>
> >> Hi Everyone,
> >>
> >> The grouper team added some improvements to GetMemberships — “PageSize
> >> and PageNumber"
> >>
> >> https://bugs.internet2.edu/jira/browse/GRP-1570
> >>
> >> With the amount domains and groups (Folder / Groups) a user has assigned
> >> were noticing a response time between 6 and 15 seconds for one request
> >> to Grouper-ws Service "v2_3_000/memberships"
> >>
> >> Example - user has 643 groups (Grouper v2.3)
> >>
> >> 1. POST /grouper-ws/servicesRest/json/v2_3_000/subjects HTTP/1.1.
> >> {"WsRestGetSubjectsLiteRequest":{"pageNumber":"1","pageSize":"20","ascending":"T","sortString":"id","subjectIdentifier":"wwan174”}
> >>
> >> 1.1. Result
> >> {"WsGetSubjectsResults":{"responseMetadata":{"millis":"258","serverVersion":"2.3.0"},"resultMetadata":{"resultCode":"SUCCESS","resultMessage":"Queried
> >> 1
> >> subjects","success":"T"},"wsSubjects":[{"id":"4695399","identifierLookup":"wwan174","name":"Wenlai
> >> Wang","resultCode":"SUCCESS","sourceId":"jdbc","success":"T"}]}}
> >>
> >>
> >> 2. POST /grouper-ws/servicesRest/json/v2_3_000/memberships HTTP/1.1.
> >> {"WsRestGetMembershipsRequest":{"pageSize":"500","pageNumber":"1","ascending":"T","wsSubjectLookups":[{"subjectId":"4695399"}]}}
> >>
> >> 2.1 Snippet of the result
> >>
> >> {"WsGetMembershipsResults":{"responseMetadata":{"millis":"8340","serverVersion":"2.3.0"},"resultMetadata":{"resultCode":"SUCCESS","resultMessage":"Found
> >> 2227 results involving 500 groups and 1
> >> subjects","success":"T"},"wsGroups":[{"description":"NAAdminGroups","displayExtension":"NAAdminGroups","displayName":"1989.auckland.ac.nz:NAAdminGroups","extension":"NAAdminGroups","idIndex":"446040","name":"1989.auckland.ac.nz:NAAdminGroups","typeOfGroup":"group","uuid":"e13b649a10514393b3373ea7d1c85592"},{"description":"NAAdminGroups","displayExtension":"NAAdminGroups","displayName":"1996.auckland.ac.nz:NAAdminGroups","extension":"NAAdminGroups","idIndex":"411614","name":"1996.auckland.ac.nz:NAAdminGroups","typeOfGroup":"group","uuid":"0507d40a28274c62a2d071e6672e4870"},{"description":"NAAdminGroups","displayExtension":"NAAdminGroups","displayName":"1997.auckland.ac.nz:NAAdminGroups","extension":"NAAdminGroups","idIndex":"411630","name":"1997.auckland.ac.nz:NAAdminGroups","typeOfGroup":"group","uuid":"7a4085bb84274c17a2a1061e6fe21bb3"},{"description":"NAAdminGroups","displayExtension":"NAAdminGroups","displayName":”1998
> >>
> >>
> >> The problem is the following query runs 5 times because we set
> >> "pageSize:500” and the id is batched to 100 items, each query takes 1.7
> >> seconds to respond directly from the Oracle DB..
> >>
> >> select distinct membership1_.membership_id as membership_id1_26_0_,
> >> membership1_.immediate_membership_id as immediate_membersh2_26_0_,
> >> membership1_.group_set_id as group_set_id3_26_0_, group2_.id as
> >> id1_22_1_, member0_.id as id1_24_2_,
> >> membership1_.hibernate_version_number as hibernate_version_4_26_0_,
> >> membership1_.owner_id as owner_id5_26_0_, membership1_.owner_attr_def_id
> >> as owner_attr_def_id6_26_0_, membership1_.owner_group_id as
> >> owner_group_id7_26_0_, membership1_.owner_stem_id as
> >> owner_stem_id8_26_0_, membership1_.member_id as member_id9_26_0_,
> >> membership1_.field_id as field_id10_26_0_,
> >> membership1_.immediate_field_id as immediate_field_i11_26_0_,
> >> membership1_.via_composite_id as via_composite_id12_26_0_,
> >> membership1_.membership_creator_id as membership_creato13_26_0_,
> >> membership1_.membership_create_time as membership_create14_26_0_,
> >> membership1_.group_set_creator_id as group_set_creator15_26_0_,
> >> membership1_.group_set_create_time as group_set_create_16_26_0_,
> >> membership1_.context_id as context_id17_26_0_,
> >> membership1_.group_set_parent_id as group_set_parent_18_26_0_,
> >> membership1_.via_group_id as via_group_id19_26_0_, membership1_.depth as
> >> depth20_26_0_, membership1_.mship_type as mship_type21_26_0_,
> >> membership1_.immediate_mship_enabled as immediate_mship_e22_26_0_,
> >> membership1_.immediate_mship_enabled_time as immediate_mship_e23_26_0_,
> >> membership1_.immediate_mship_disabled_time as immediate_mship_d24_26_0_,
> >> group2_.hibernate_version_number as hibernate_version_2_22_1_,
> >> group2_.last_membership_change as last_membership_ch3_22_1_,
> >> group2_.last_imm_membership_change as last_imm_membershi4_22_1_,
> >> group2_.parent_stem as parent_stem5_22_1_, group2_.creator_id as
> >> creator_id6_22_1_, group2_.create_time as create_time7_22_1_,
> >> group2_.modifier_id as modifier_id8_22_1_, group2_.modify_time as
> >> modify_time9_22_1_, group2_.name as name10_22_1_, group2_.display_name
> >> as display_name11_22_1_, group2_.extension as extension12_22_1_,
> >> group2_.display_extension as display_extension13_22_1_,
> >> group2_.description as description14_22_1_, group2_.context_id as
> >> context_id15_22_1_, group2_.alternate_name as alternate_name16_22_1_,
> >> group2_.type_of_group as type_of_group17_22_1_, group2_.id_index as
> >> id_index18_22_1_, member0_.hibernate_version_number as
> >> hibernate_version_2_24_2_, member0_.subject_id as subject_id3_24_2_,
> >> member0_.subject_source as subject_source4_24_2_, member0_.subject_type
> >> as subject_type5_24_2_, member0_.context_id as context_id6_24_2_,
> >> member0_.subject_identifier0 as subject_identifier7_24_2_,
> >> member0_.sort_string0 as sort_string8_24_2_, member0_.sort_string1 as
> >> sort_string9_24_2_, member0_.sort_string2 as sort_string10_24_2_,
> >> member0_.sort_string3 as sort_string11_24_2_, member0_.sort_string4 as
> >> sort_string12_24_2_, member0_.search_string0 as search_string13_24_2_,
> >> member0_.search_string1 as search_string14_24_2_,
> >> member0_.search_string2 as search_string15_24_2_,
> >> member0_.search_string3 as search_string16_24_2_,
> >> member0_.search_string4 as search_string17_24_2_, member0_.name as
> >> name18_24_2_, member0_.description as description19_24_2_ from
> >> grouper_members member0_ cross join grouper_memberships_all_v
> >> membership1_ cross join grouper_groups group2_ cross join grouper_fields
> >> field3_ where membership1_.owner_group_id=group2_.id and
> >> membership1_.member_id=member0_.id and
> >> membership1_.immediate_mship_enabled='T' and
> >> membership1_.field_id=field3_.id and field3_.type='list' and
> >> (membership1_.owner_group_id in ('5f6fbfe087e74471a5badfd3b3e4c24b' ,
> >> 'e89ac5a4027d415dbb6e82b0a83ee49b' , '615f41a690dc4503a3b59190c52c2149'
> >> , 'f704e9e33f884f23bf57f75721e9daee' ,
> >> '33139201d35f4372a99efc8b2c76aadf' , '56c3b795eed64810a7f21d1fd1c79dc0'
> >> , '714d1347db904a298074065e24099a5f' ,
> >> 'b0ba21fb6d194fbdb9bbc0fb7b9f227a' , '66ba7e778615484ba5b78f44859dd076'
> >> , 'a776e803f9b1475a92984b977043c96e' ,
> >> '64a0faed6ac440979d14877a93d2dd5c' , 'b5a7db29a7f14b4d92ecc7c7b4591945'
> >> , '304fb43c85f847e1b7729d241529f7b1' ,
> >> '01984212137a4ba5bd9ea299dbf78259' , 'c2d567315f384be99e3c88149df84c74'
> >> , '526e8fa76146428589d15140a25d16b1' ,
> >> '2041c0d557624814b267dd2c97cbb66a' , '8472df45758343eb8ece1b0a4b54bbd8'
> >> , '91677c7eeba34571af49a80b13dba750' ,
> >> '5bc9679b210542c8875215df99d9b80d' , '1432ace3a5d243e69b4b0d7a0309cd15'
> >> , '12c9ec4221b349a3aef419c32ea2bce1' ,
> >> '4f6c6a93993242108e412357394f764d' , '794b01653e404eaf89be1dcd520d1eba'
> >> , '95bf323f921b491ab818daf449f1a033' ,
> >> 'f909aaf0917f48bb88689d925041a0aa' , '64e4cbecb9d44cf3b6825acb705ab09c'
> >> , '00b062c6b5334dac9f1456c9497acd9b' ,
> >> 'e1dfa96735d24cc0adfd30f8dc678fa5' , '4da63441c75c4597a2a41d62b7960742'
> >> , '04f69e2014e544b0972331f431c45096' ,
> >> 'c5f96126c808489c86dbc0f7a3d7ff1b' , '8ace229d662f4bc6a33723a7d4d0dc74'
> >> , 'a70962032ab54635ac20f6bc4f9d70b0' ,
> >> '66bca41dcbd347418224330e759eddca' , '6c6275c458dd4be8bb6a74f828776295'
> >> , 'b782d24ccf09413a8e84d6fcc8eb92a3' ,
> >> 'e7a9e7d35f404635a611678c18f13304' , 'a1d5c4027844444392afb9a468304b4e'
> >> , '9df335f404584e9e92a4de660f459f25' ,
> >> '33953b2e677e463b968927ebbcacf513' , '689b7a4ea39142339a70cc7bd2d67914'
> >> , '134c62b1ba5043798efe16106d129938' ,
> >> 'b01a2ed3cf084614990755d62c8357b2' , 'dcc3940ba74e42e59786d8b3e50e20ec'
> >> , '98ccb0e7bc4e45358ed6f5f306c9a751' ,
> >> '7447ff9e2b9049fe84fab1b0a9d0c6a2' , '69ed88423a1e4838ae2228bfe183a354'
> >> , '8c52eba0c710498da3fecd33fae276a4' ,
> >> '8c9fd31bcbae4ea3b3dfaaafa4c626d6' , 'e8524ff5975e4b939d2810e73986635c'
> >> , '5a12e00f022742b68f85927efb5b3f91' ,
> >> '10c16a018dc04abca342cfbb6aa8a088' , 'cde48ccad1b74cb591ab4bf484aeac12'
> >> , 'bbf0e98bdc42464a94cd040c6233669f' ,
> >> '3adf91449be74332ae2cd89b42472d88' , '4036c58865df4cbea691a346b2463177'
> >> , '845da7370f4e4cf3bc4d31b490e67170' ,
> >> 'b13628533a7744a08db68df5f24b16b0' , '4a00d5daf65640deb7d145b5755e41c7'
> >> , '723c8cf0b43745409422fd4de88b9fda' ,
> >> '70308d952c9f44e0a5664a8b48d8afe3' , 'e70ffdf56565495f93de7148c2b11776'
> >> , 'bb12a37e9ae64e8a81242095859b6da5' ,
> >> 'aab8be74d392415db5ae81e3cb99c4ee' , 'a4f112f41e964294a7214765b6f804b1'
> >> , '93d1ae5a5e9149b78fc6fff10d144ffd' ,
> >> 'aa7a3edf2d224198b2863c3b09f5de0c' , '1d461d0bc54f49b5911ad13f3e1c8b79'
> >> , 'daf877a600b74b20bedc0fbc5f29566c' ,
> >> '83052510c6eb46db83711c21d2da8671' , '226820f3837c4dc2bfa94aa5cef4afb5'
> >> , '7dedd10b25004d67857233dc3ae1d745' ,
> >> '137e20b8fc43466ca31878967460f956' , 'fe9e9cb756e24e849dd4ea10dfe7b832'
> >> , '0306497361d34e389b86b7477b8affe3' ,
> >> '116777951bdc44ee82fc22aa86b175e0' , '734934019e8543df9c2f2242aa3b5700'
> >> , 'ace9dbf53e4e4ab9937088fb89ffee2c' ,
> >> '8779d027eb83427183cb1bf09d8c7eaa' , '881c77e476064f5f8d27dc721a147871'
> >> , 'c7db595b90524d9b995567e7439dca06' ,
> >> '33e59abeeb7a4839a8e3e21061c12f0a' , '6e864564e99b4c498264ad22fbd7d29f'
> >> , '17b7aa53b4684bcdbcd4d6378e77ef25' ,
> >> 'cde139198a4c4a87b651264b3c63f4a7' , '23352904f9da4b319025445dcc526d66'
> >> , '30feb447977647d999304bf9105e489f' ,
> >> 'c6f98ce79f8c479f9588786fc737239b' , '8b0a1b77fb164f34b446704307e0f85d'
> >> , 'a26c09e0ab1b4cc3b5683f19cd27a0c0' ,
> >> 'c6bd8669e11c4e9ba58bad23491f185a' , '55258aa1c8e64312ba98ee06b9f547dd'
> >> , 'b917c19aaad143519531cf6365f0d935' ,
> >> '15b37ee403404cdf8e52eac4f26b8792' , 'd9daff4da8f54288ac159c6c7067e8ca'
> >> , '607a0353a37a4062a17a373c1c30a55f' ,
> >> 'e09dac2f79e9407c80d9f1a8c7990007' , '9b5557848c0345fcb77aed4f98126efe'
> >> , 'd462d13ba3134841aec3c057357c21d0')) and (membership1_.member_id in
> >> ('ae0b887741fc492aa86fb843af0f02cc'))
> >>
> >> Any advice to improve the response time from the query ?
> >>
> >> Cheers
> >>
> >> Reid Watson
> >>
> >>
> >
- [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/15/2018
- Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/15/2018
- Re: [FORGED] [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/16/2018
- RE: [FORGED] [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Hyzer, Chris, 10/18/2018
- RE: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Hyzer, Chris, 10/18/2018
- Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/21/2018
- RE: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Hyzer, Chris, 10/22/2018
- Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/24/2018
- Re: [FORGED] [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/24/2018
- RE: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Hyzer, Chris, 10/24/2018
- Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/24/2018
- RE: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Hyzer, Chris, 10/22/2018
- Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/21/2018
- Re: [FORGED] [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/16/2018
- <Possible follow-up(s)>
- Re: [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Shilen Patel, 10/18/2018
- Re: [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/19/2018
- Re: [FORGED] [grouper-users] Grouper-WS-2.3 - GetMemberships — “PageSize and PageNumber", Reid Watson, 10/15/2018
Archive powered by MHonArc 2.6.19.