Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] Add composite as member takes really long time - MariaDB

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] Add composite as member takes really long time - MariaDB


Chronological Thread 
  • From: Shilen Patel <>
  • To: Carl Waldbieser <>
  • Cc: grouper-users <>
  • Subject: Re: [grouper-users] Add composite as member takes really long time - MariaDB
  • Date: Tue, 1 May 2018 18:51:36 +0000
  • Accept-language: en-US
  • Authentication-results: oit.duke.edu; spf=none
  • Ironport-phdr: 9a23:3TwZaBE8bBfD7LMOegekh51GYnF86YWxBRYc798ds5kLTJ7zpMiwAkXT6L1XgUPTWs2DsrQY07GQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmDSwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VC+85Kl3VhDnlCYHNyY48G7JjMxwkLlbqw+lqxBm3oLYfJ2ZOP94c6jAf90VWHBBU95RWSJfH428c4UBAekPPelaoYb9pkcBoxSxCgS3GOPg0TpIimPq0aAg0eksFxzN0gw6H9IJtXTZtMj7NKcTUeCx0qbIyyjIYelM1jfh9ofIdg0qrPaXXbJwcMrRzVcgFwXeg1qNtIzlPC2a2v4TvGeG8uptTOSigHMkpQFpujWj28chhpfTio8b0FzI6CZ0zYIvKdGmR0N2YMaoHIZQui2ELYd7TNkuTm9ntSogxLAKoZC7czYJxZg7whPSbuCIfJaW7h/mUOucIjl4i2lgdb+7iBu+7Eytx+j/W8S61FtFtCxImcTWuH8XzRzc8M2HR+N9/ki/3TaP0Bje6uReLkA1karXMpEhw7ApmpYNrUjPBCj2mETqjKOMa0ok5+uo5Pr9brr4u5CcKpd4igD4MqswhsyyGfk0PwgQU2SB9+mwzqDv8E79TblQkPE7najUvIjfJcsBp665BwFV0pwk6xa6Fzqmy9QYnXgDLF1bfhKKlJXmO0zNIP/mF/uwnUmjkCpzy/DcIrLhGonNLmTEkLr5crZ98UlcyBcrzd9B/ZJYE6wBIOntVU/rr9zVFRs5Mw2vw+b7E9VxyJkSWWOJAq+FLqzSq1mI6fwzI+WSfoMapivyK+V2r8Lp2FQwg1tVQqCt0ZEWZWu1BLwyPEydbXDtj9wpFW4EtxszUPDnzlCOTGgASWy1WvcH5jA/BYTuNY7fS4Tl1KeB3SO2GLVae2NLTF2ADCG7JM2/R/4QZXfKcYdamTseWO3kEtd52A==
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

That’s a good catch. We do handle some forms of circular dependencies, but
not this. If you add somebody to B_include in this example, you run into an
infinite loop (well until you get a java.lang.StackOverflowError).

- Shilen

On 5/1/18, 1:18 PM, "Carl Waldbieser"
<>
wrote:

Shilen,

I think I figured out what had happened.

It looks like I had a circular dependency in my groups:

* A = A_allow - A_deny
* A_allow = X + B
* B = B_include - B_exclude
* B_exclude = Y + A

This last line was actually a mistake. It should have been "B_exclude =
Y". The upshot was, when I added "B" to "A_allow", "B" was already in an
unstable state. I'm not sure how Grouper tried to resolve this, but I'm not
surprised that the operations seemed to take a long time.

Thanks,
Carl Waldbieser
ITS Identity Management
Lafayette College

----- Original Message -----
From: "Shilen Patel"
<>
To: "waldbiec"
<>
Cc: "grouper-users"
<>
Sent: Monday, April 30, 2018 3:12:33 PM
Subject: Re: [grouper-users] Add composite as member takes really long
time - MariaDB

Hi Carl,

Are you able to reproduce this issue using GSH and while it’s hanging, do
a ‘kill -3’ or jstack and send the stacktrace so we can see where the problem
is?

Thanks!

- Shilen

On 4/30/18, 11:42 AM,
"
on behalf of Carl Waldbieser"
<
on behalf of
>
wrote:


I experienced a strange error in Grouper this morning.
I have my standard "allow" and "deny" groups for a policy. I wanted
to add a cohort to the allow policy, but there were some particular
exclusions I needed to apply to the cohort list I was provided.
I created a reference group for the provided cohort, and a reference
group for the exclusions, and then I created a composite group that was the
provided cohort minus the exclusions. So far so good. The composite ended
up having 247 members.

Next, I attempted to add this composite to my "allow" policy. This
ended up timing out in the UI. I tried adding the composite to the "allow"
policy using GSH, and after a short period of time, I received a stack trace.
In the Grouper logs, I saw:

ERROR JDBCExceptionReporter.logExceptions(234) - - Lock wait
timeout exceeded; try restarting transaction

I contacted our DB admins. The DB admin found a lock originating
from a sleeping Grouper process and killed it. I tried to re-run from GSH
again while the DB admin monitored the progress. This time the query ran for
10 minutes. The DB admin could see it had created a temp table while holding
~50,000 row locks.

At this point I terminated the client connection and the transaction
rolled back on the DB side. I exported the composite group membership to a
spreadsheet, then imported the membership into a "workaround" reference
group. I was able to add this workaround group to the "allow" policy without
any issues, and it took only a second or two for the operation to complete
using the UI.

I tried searching the Jira for this issue, but I didn't turn up any
results. Has anyone run into an issue similar to this? We are running
Grouper 2.2.1 with a MariaDB cluster back end.

Is there any reason why adding a composite caused the issue vs.
adding a static cohort?

Thanks,
Carl Waldbieser
ITS Identity Management
Lafayette College





Archive powered by MHonArc 2.6.19.

Top of Page