OnDemand User Group

Off Topic => General => Topic started by: JFHall on February 12, 2020, 10:44:02 PM

Title: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: JFHall on February 12, 2020, 10:44:02 PM
I changed the ARSLOG exit but my change is not being used by OnDemand.  Do I need to bounce OnDemand to pull in a fresh copy of the exit?  More generally, does OnDemand pull the exits into memory on startup or does it dynamically execute whatever code is in the exit?  Our OnDemand instance is running on AIX.
Title: Re: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: Justin Derrick on February 13, 2020, 02:41:01 PM
Last time I changed a running arslog script (admittedly a few years back - I try not to change tires on a moving car!) the changes to arslog take effect nearly instantly.  The code is called each time the user exit is called, and run in it's own process/thread.  Of course, it goes without saying...  test test test test.  :D

If you don't mind the question...  not many sites I've been to are using arslog...  what's your use case, and are you happy with how it works?

-JD.
Title: Re: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: JFHall on February 13, 2020, 09:41:12 PM
We're running a rather dated version of CMOD - 9.0.  We use arslog to send notifications for certain Alert and Error level messages.  The latest requirement is an audit requirement which has us writing every single message (believe it or not) to a new log file.  I can run arslog from the command line, passing it test parameters, and it works fine.  But CMOD seems to be ignoring the change.  I have verified that logging is turned on, both system logging and application group logging, in the System Parameters.  Granted, we have nearly zero activity in our test environment, but even the act of logging on and logging off should invoke the exit and cause a message to be written to the new log file.
Title: Re: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: Justin Derrick on February 14, 2020, 06:37:15 AM
You'll need to enable user exit logging...  In the CMOD Admin client, right click on the server, choose System Parameters, and in the User Exit Logging group, make sure everything is enabled. 

Now...  just to be able to say that you were warned...  logging every message has the potential to slow down your server to a crawl.  There's only so many times you can call a script per second before the server becomes backlogged, and CMOD stops responding.  If you encounter this issue, you can disable the user exit logging, and it should take effect immediately, and good performance should resume within a few minutes as the backlog clears.

-JD.
Title: Re: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: JFHall on February 17, 2020, 07:33:11 PM
Been there, done that.  All boxes under User Exit Logging are selected.  Why this arslog exit is not getting executed is a mystery.
 Only thing left I can think to try is bounce OnDemand, which will only help if this exit truly gets stored in memory when CMOD starts rather then being executed dynamically in CMOD's bin directory, which seems kind of hard to believe........

I appreciate the warning about server performance.  We'll keep a close eye on that when we implement this in production as I have the same concern.  First though, I need to get this thing tested on our test server, which basically has zero activity right now except for my own logins, logouts, queries, and that "every-30-minute ping" from arssockd.
Title: Re: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: Justin Derrick on February 17, 2020, 09:26:37 PM
Only other I can think of off the top of my head is file ownership and permissions.  It needs to be owned by the same user as CMOD, and have the appropriate permissions - 700 a.k.a. -rwx------, so that the CMOD server has permission to run it.

-JD.
Title: Re: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: JFHall on February 18, 2020, 04:52:48 PM
Figured it out.  And figured it must be something silly that I just wasn't seeing.  Turns out there is a duplicate set of directories on our test server - one set matches the production server and one set does not.  And it turns out that the test server is running from the other (non-matching) set of directories.  So I've been updating arslog in a bin directory that is not used by the CMOD instance.  So sorry for wasting your time on this.  I do appreciate all your help, for what it's worth.....
Title: Re: Do I need to bounce OnDemand to refresh a changed exit routine (ARSLOG)
Post by: Justin Derrick on February 19, 2020, 07:49:59 AM
Don't worry!  It happens to everyone, and I've seen my share of embarrassing mistakes over the last 20 years doing IBM CMOD Consulting.  Here's one...

On one of my first assignments, the customer duplicated their production server onto a test AIX box so I could practise their upgrade.  When I got errors from the TSM server on the test box (because it couldn't contact the optical library), I disabled the optical jukebox... and I heard the jukebox behind me go offline (the picker just stopped and rolled down to the bottom of the library).  When they duplicated the production server, the config files were also duplicated, so the TSM admin client didn't connect to the local TSM server on the test box...  it connected to prod.  Oops!  :D

-JD.