ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Ineligibile users rec. work

Post new topic  Reply to topic
 Ineligibile users rec. work « View previous topic :: View next topic » 
Author Message
callocam
PostPosted: Mon Jul 21, 2008 7:47 am    Post subject: Ineligibile users rec. work Reply with quote

Novice

Joined: 09 Jun 2006
Posts: 14
Location: Middletown, Ct

Greetings folks,
Our business community has not been able to determine when this first happened, maybe a few months ago, but we have identified users are receiving work they are not qualified for.

These worktasks are assigned to a team called TRNATMED and the users are coded in the FDL as such:

PERSON 'X017217'
PASSWORD %6DB73D3F6698A008CF76BE9AB8ED27E9
GROUP 'ECHSGRP'
SYSTEM 'ECHSSYS'
FIRST_NAME 'JACK'
LAST_NAME 'SMITH'
LEVEL 0
IS_NOT_ABSENT
RESET_ABSENT
END 'X017217'

UPDATE PERSON 'X017217'
GROUP 'ECHSGRP'
SYSTEM 'ECHSSYS'
AUTHORIZED_FOR WORKITEMS_OF 'TRNATMED'
END 'X017217'


But somehow these users are getting work assigned to team TRNATDEN.

I have reviewed a output of the FDL export from production and these users have the only single AUTHORIZED_FOR statement.

My only suggestion was delete the users from workflow and then readd them back in. We have had issues this past winter where users were in the FDL but for some reason were not able to log into the application.

So I prepared a FDL DELETE statement and new FDL add to get them back into the system.

My DBA took a FDL export before picture, and then we ran the DELETE command. It got good codes. Ran another export and wouldn't you know it, the user is still in the export AFTER the delete?!!

Having no other options, we ran the add PERSON and it said the user was CREATED. So I don't understand why did the prev. export still have the user in the FDL? Is it some sort of whacky logical delete?

In any event the last time we tried this, the user was still pulling the incorrect work.

There hasn't been any changes to this part of the application is quite some time.

The filter that pulls work for these users is as follows:
"STATE = READY AND NAME = 'EC Ready' "

Again, we haven't changed this code in a very long time, and the issue isn't consistent across the application, only a very few users (3 to 5). While there are hundreds of users that support this part of the application.

Any feedback or ideas are appreciated. As anyone else run across this issue?

Thanks muchly!
Ettore
Back to top
View user's profile Send private message
hos
PostPosted: Tue Jul 22, 2008 4:44 am    Post subject: Reply with quote

Chevalier

Joined: 03 Feb 2002
Posts: 470

This sounds strange!
Check the following:
- users cannot be deleted if they are still involved in some workflow. Recheck
the return code of fmcibie whether the UserID is REALLY deleted. Use the
Sustitute Person Tool described in the Administration Guide to make a
person eligible for deletion.
- what parameters did you use for fmcibie? See Getting Started with
Buildtime for a description of the various parameters. For instance you can
use fmcibie /e=out.fdl /u=admin /p=pwd /c"EXPORT PERSON *" to export
all persons. Did you use the default configurationID? Did you use the -f or
-o option (-f does NOT delete)?
- there is a known limitation w.r.t. UPDATE Person:it does not replace the
AUTHORIZED_FOR setting, but adds the new authorization. Use REPLACE
Person instead.
- do you have an LDAP bridge running which synchronizes an LDAP directory
with the MQWF RT DB?
Back to top
View user's profile Send private message
jmac
PostPosted: Tue Jul 22, 2008 5:24 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Ettore:

After you try everything Volker has suggested, IF you are still not having any luck export all of your Person objects, zip it up and email to me and I will have a look.

Also, IF running any of the steps Volker listed, let me know what the results were.

John
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
callocam
PostPosted: Fri Aug 22, 2008 5:44 am    Post subject: Reply with quote

Novice

Joined: 09 Jun 2006
Posts: 14
Location: Middletown, Ct

Sorry for the delay on your replies.

Our basic process has been to:
* export the entire FDL to identify the user
* DELETE PERSON FDL
* export FDL again to confirm the user is gone
* add the PERSON back in with the AUTH for statement
* export FDL to confirm the user is readded.

We did have a DBA issue where I believe we were pointing to a incorrect version of the database. Because as I said in my previous post the PERSON wasn't actually deleted. We have since straightened that out.

I asked my DBA to provide me with the parms we use in the JCL:
// PARM='ENVAR("_CEE_ENVFILE=DD:FMCHEENV"),ABTERMENC(ABEND)
// /-u ADMIN -p password -i -o -t'


Yes, I'm aware that if a user ownes any work, we can not delete/readd them back. But one thing I've found frustrating is that on occasion the users don't log off the application as they should and that leaves orphaned rows on the SESSION table. So when we try to delete them it says that the user is still logged in and the rows won't expire from the table for 24 hours. By that time the user has already gone back on the job and the process happens again.

Is there a danger of deleting those orphaned rows from the SESSION table? I'm guessing that there would be but would be nice to hear from you guys that I'm correct.

Well, we tried this process again for a single qualified user the other day, and sure enough, they are still pulling the incorrect work. Even though our plan worked well. Very strange indeed.

Lastly, we do not have a way to synch the LDAP users with runtime. There is a service we use that keeps the users in synch.

Thank you for your help thus far.
Back to top
View user's profile Send private message
jmac
PostPosted: Fri Aug 22, 2008 8:10 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Ettore:

If I am understanding you correctly you can try something like the following (NOTE: I have never done this.):

You can change the Session Expiration time on the Session Tab of the Dimension properties the default is 20 hours. If you were to change this to something like 3 hours, you might find that many of these "orphaned" rows are gone.

I am sure you know I would be very worried about direct updates to the tables. You would be best to talk directly to the workflow lab to find out if this is advisable. Perhaps Volker will weigh in on this post.

Hope all is going well,

John
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
callocam
PostPosted: Fri Aug 22, 2008 10:21 am    Post subject: Reply with quote

Novice

Joined: 09 Jun 2006
Posts: 14
Location: Middletown, Ct

Hey John,
Yea man...things are alright. Just bought a pellet stove to heat the house for next winter. Figure it a good investiment these days. Guessing you may not need such things in your neck of the woods.

If I were to make this change, do I need to do a FDL import of the entire DOMAIN block or just the SESSION info below in RED?

Any ideas on why I can't get past the root issue of the users pulling incorrect work? I may add that all these users are offshore. Any reason you can think of that working 3000 miles away from the runtime database would cause this? LOL

// ---------------------------------------------------------------------------
// Domain
// ---------------------------------------------------------------------------
DOMAIN 'DOMAIN'
DESCRIPTION 'Default domain'
DOCUMENTATION 'Default domain (documentation field)'
MAXIMUM_MESSAGE_SIZE 4000000 B
// -------------------------------------------------------------------------
SERVER
TYPE EXECUTION_SERVER
CHECK_INTERVAL 5 MINUTES
NUMBER_OF_INSTANCES 10
EXTERNAL_CONTROL NO
NO IMMEDIATE_CLEANUP
NAVIGATION_TRANSACTION_THRESHOLD 1999999999
// -------------------------------------------------------------------------
SERVER
TYPE SCHEDULING_SERVER
START_MODE DEFERRED
CHECK_INTERVAL 5 MINUTES
CREATE_NOTIFICATION_ITEMS_THRESHOLD 10
DELETE_NOTIFICATION_ITEMS_THRESHOLD 100
NOTIFICATION_CHECK_INTERVAL 5 MINUTES
// -------------------------------------------------------------------------
SERVER
TYPE CLEANUP_SERVER
START_MODE DEFERRED
START_TIME EVERY DAY AT 0:00
STOP_TIME EVERY DAY AT 6:00
CHECK_INTERVAL 5 MINUTES
CLEANUP_TIME 7 DAYS
CLEANUP_DELAY_TIME 1 HOURS
// -------------------------------------------------------------------------
SERVER
TYPE PROGRAM_EXECUTION_SERVER
EXTERNAL_CONTROL NO
IMPLEMENTATION_SUPPORT EXTERNAL
NUMBER_OF_INSTANCES 10
PLATFORM OS390
SUPPORT_MODE SAFE
USER_SUPPORT AGENT
// -------------------------------------------------------------------------
PROGRAM_EXECUTION_AGENT
DLL_LOAD_MODE UNLIMITED
// -------------------------------------------------------------------------
PROCESS
NO AUDIT_TO_DB
NO AUDIT_TO_MQ
NOTIFICATION_MODE RUN
REFRESH_POLICY PULL
KEEP_WORKITEMS NEVER
KEEP_PROCESSES NEVER
NO AUTONOMY
// -------------------------------------------------------------------------
ACTIVITY
CHECKOUT_POSSIBLE
INCLUDE_PROCESS_ASSIGNMENT
PREFER_LOCAL_USERS
PREFER_NON_ABSENT_USERS
NO SUBSTITUTION
NOTIFICATION_SUBSTITUTION
NO DUPLICATE_NOTIFICATION
AUDIT_FILTER_DB ''
AUDIT_FILTER_MQ ''
// -------------------------------------------------------------------------
PROGRAM
FENCED_MODE
KEEP_LOADED
EXECUTION_MODE NORMAL
EXECUTION_USER AGENT
INPUT_CONTAINER_ACCESS
OUTPUT_CONTAINER_ACCESS
NO DLL_V2_COMPATIBILITY
NOT TRUSTED
// -------------------------------------------------------------------------
IMPORT
DO NOT OVERWRITE
// -------------------------------------------------------------------------
OPERATION
SYSTEM_QUALIFIER 'Q18XP'
OPERATION_MODE ROBUST
EXTERNAL_RESTART NO
MAXIMUM_QUERY_MESSAGE_SIZE 4000000 B
CLIENT_MESSAGE_EXPIRATION_TIME 15 MINUTES
MESSAGE_RETAIN_PERIOD 7 DAYS
ERROR_RETAIN_PERIOD 7 DAYS
MESSAGE_RETRY_LIMIT 5
// -------------------------------------------------------------------------
SESSION
SESSION_EXPIRATION_TIME 20 HOURS SESSION_EXPIRATION_CHECK_INTERVAL 1 HOURS
NO UNIFIED_LOGON

END 'DOMAIN'
Back to top
View user's profile Send private message
jmac
PostPosted: Fri Aug 22, 2008 10:33 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

The entire domain FDL would have to be imported an and a restart of MQWF would be required, because the Domain info is only read at startup time.

I just realized one other possible way to solve your problem. If you bring MQWF down and then back up, I am pretty sure that will clear the Session table. (not positive on zOS, but pretty sure it should). Maybe that would be the easiest way to do this, get them to cycle the system prior to running your utility.

Let me know how it goes
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
hos
PostPosted: Sun Aug 24, 2008 11:33 pm    Post subject: Reply with quote

Chevalier

Joined: 03 Feb 2002
Posts: 470

Hi guys, here are my thoughts:

If you can afford to stop and restart MQWF this will certainly clean up the session table. However no user can actually work with the system during this time.

Shortening the default session expiration time is risky because MQWF does not monitor the activities of a logged on user. Means, that a user is logged off after this time even if he is busy working.

I do not see a problem to delete entries in the session table if you exactly know which one to delete. Session IDs are not reused if a user logs in again, so an orphan session entry is no longer needed by MQWF.

With respect to your root problem:
IF you are able to sort out the DB and import problems, means you have verified that the users in the runtime DB have the intended authorizations, and you are still seeing the problem, my guess is that there is an error in you business model. Check the 'Owner' field of the workitem in question. Is it really TRNATMED?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Ineligibile users rec. work
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.