Skip to Content.
Sympa Menu

grouper-users - RE: [grouper-users] loader error message for LDAP_SIMPLE group

Subject: Grouper Users - Open Discussion List

List archive

RE: [grouper-users] loader error message for LDAP_SIMPLE group


Chronological Thread 
  • From: Chris Hyzer <>
  • To: Gagné Sébastien <>, Jeff McCullough <>, Grouper-Users <>
  • Subject: RE: [grouper-users] loader error message for LDAP_SIMPLE group
  • Date: Tue, 23 Apr 2013 15:57:36 +0000
  • Accept-language: en-US
  • Authentication-results: sfpop-ironport01.merit.edu; dkim=neutral (message not signed) header.i=none

This only occurs when changing an attribute of an LDAP job while the loader
is running.

The workaround I believe is to bounce the loader after updating an attribute
(until you get a fixed version).

LDAP jobs do not have a schedule type, they are only cron based, to make
things simpler, and since Im not aware of people who need to use something
other than cron.

https://bugs.internet2.edu/jira/browse/GRP-898

Thanks,
Chris

This is my patch:

GrouperLoaderJob.jave (around line 248)

FROM:

//see if the runtime settings have changed
if (scheduleChange) {

GrouperLoaderScheduleType grouperLoaderScheduleTypeEnumFromOwner =
GrouperLoaderScheduleType
.valueOfIgnoreCase(grouperLoaderScheduleTypeFromOwner, true);

if
(grouperLoaderScheduleTypeEnumFromOwner.equals(GrouperLoaderScheduleType.START_TO_START_INTERVAL))
{


TO:

//see if the runtime settings have changed
if (scheduleChange) {

GrouperLoaderScheduleType grouperLoaderScheduleTypeEnumFromOwner =
null;

//if there is a cron string, then it must be cron
if (StringUtils.isBlank(grouperLoaderScheduleTypeFromOwner) &&
!StringUtils.isBlank(grouperLoaderQuartzCronFromOwner)) {
grouperLoaderScheduleTypeEnumFromOwner =
GrouperLoaderScheduleType.CRON;

//if it is an LDAP job, then it must be cron
} else if (StringUtils.isBlank(grouperLoaderQuartzCronFromOwner) &&
(grouperLoaderType.equals(GrouperLoaderType.LDAP_SIMPLE)
|| grouperLoaderType.equals(GrouperLoaderType.LDAP_GROUP_LIST)
||
grouperLoaderType.equals(GrouperLoaderType.LDAP_GROUPS_FROM_ATTRIBUTES))) {
grouperLoaderScheduleTypeEnumFromOwner =
GrouperLoaderScheduleType.CRON;

//else parse the schedule type, and it is required
} else {
grouperLoaderScheduleTypeEnumFromOwner = GrouperLoaderScheduleType
.valueOfIgnoreCase(grouperLoaderScheduleTypeFromOwner, true);
}

if
(grouperLoaderScheduleTypeEnumFromOwner.equals(GrouperLoaderScheduleType.START_TO_START_INTERVAL))
{


-----Original Message-----
From:


[mailto:]
On Behalf Of Gagné Sébastien
Sent: Tuesday, April 23, 2013 8:26 AM
To: Jeff McCullough; Grouper-Users
Subject: RE: [grouper-users] loader error message for LDAP_SIMPLE group

I think you have to set the missing attribute in your configuration :
grouperLoaderScheduleType CRON

It's strange that the Loader page doesn't mention it... In my tests I defined
the attribute, but I can't remember where I saw it was required.

I believe the SQL and LDAP loader are sharing some code so that's why they
might be sharing some configurations

-----Message d'origine-----
De :


[mailto:]
De la part de Jeff McCullough
Envoyé : 22 avril 2013 21:40
À : Grouper-Users
Objet : [grouper-users] loader error message for LDAP_SIMPLE group



I have a LDAP_SIMPLE loader job that is giving me the below error message. I
know in part what is causing the error message, since I'm the one that
changed the "Grouper loader LDAP quartz cron" attribute for the group to (* *
* * * * ?). I'm having trouble discerning what is wrong though. For an
SQL_SIMPLE group I see that I need to set grouperLoaderScheduleType per the
general loader documentation, but this is an LDAP_SIMPLE group. The loader
documentation for LDAP doesn't specify it as there are separate attributes
under Grouper Loader LDAP *. Do I need to set this one attribute regardless
of whether or not it is a regular or LDAP loader group?


2013-04-22 17:58:00,152: [DefaultQuartzScheduler_Worker-2] WARN
GrouperLoaderJob.execute(223) - - Detected a grouper loader schedule change
in job:
LDAP_SIMPLE__edu:berkeley:ref:ucb_ist__f41465e849bd4018b8f16c68515d2fb4,
quartzCron from: 0 * * * * ?, to: 0 0/2 * * * ?
2013-04-22 17:58:00,153: [DefaultQuartzScheduler_Worker-2] ERROR
GrouperLoaderJob.execute(303) - - Error running up job
java.lang.RuntimeException: Cant find GrouperLoaderScheduleType from string:
'null', expecting one of: CRON, START_TO_START_INTERVAL,
at
edu.internet2.middleware.grouper.util.GrouperUtil.enumValueOfIgnoreCase(GrouperUtil.java:7238)
at
edu.internet2.middleware.grouper.util.GrouperUtil.enumValueOfIgnoreCase(GrouperUtil.java:7203)
at
edu.internet2.middleware.grouper.app.loader.GrouperLoaderScheduleType.valueOfIgnoreCase(GrouperLoaderScheduleType.java:116)
at
edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.execute(GrouperLoaderJob.java:248)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
2013-04-22 17:58:00,185: [DefaultQuartzScheduler_Worker-10] ERROR
Psp.execute(940) - - Psp 'psp' - Calc
CalcResponse[id=change_log_sequence_number:460101,status=failure,error=noSuchIdentifier,errorMessages={Unable
to calculate provisioned object.},requestID=2013/04/22-17:58:00.135]
2013-04-22 17:58:00,186: [DefaultQuartzScheduler_Worker-10] ERROR
Psp.execute(942) - - Psp 'psp' - Calc XML:
<psp:calcResponse xmlns:psp='http://grouper.internet2.edu/psp'
status='failure' requestID='2013/04/22-17:58:00.135' error='noSuchIdentifier'>
<errorMessage>Unable to calculate provisioned object.</errorMessage>
<psp:id ID='change_log_sequence_number:460101'/>
</psp:calcResponse>



Thanks,
Jeff




Archive powered by MHonArc 2.6.16.

Top of Page