ADSM-L

Re: AW: Re: Return Codes

1996-12-12 11:46:12
Subject: Re: AW: Re: Return Codes
From: Dwight Cook <decook AT AMOCO DOT COM>
Date: Thu, 12 Dec 1996 10:46:12 -0600
     OK UNCLE, I'm crying uncle :-(

     What I was trying to stress is that: If "dsmc" were to return a
     completion code it would be to indicate the health/success of the
     "dsmc" process/program itself, not a process/action executed while in
     the dsmc process.   It is pretty safe to say that adsm is written in
     "C" and as we know there is no such thing as a procedure in "C"...
     they are all functions... if you want a procedure you pass parameters
     by reference (not value) and your routines alter the data at the
     source... and I would say that 99% of the folks coding these
     "procedures" return a null value from their "procedure" (factually a
     function)...

     SO THINK OF THIS SITUATION:
     A) You initiate a dsmc process (actually a function, it will pass back
         a value... most have said they want it to ba a return code)
     B) You perform a "query backup /some/data/path/and/file"
        query is going to be a FUNCTION that returns a value also even
        though it is a pseudo procedure...
     C) The server finds NOTHING archived... now start rolling out of the
        stacks that have been building...
        SO what do you pass back from the query ?
           it worked, do you pass back a 0 (zero)
           but it found nothing so do you pass back a non-zero
           do you pass back a pointer to a structure to describe your
              situation
           REMEMBER: complicating things with all this makes more room
                     for errors...
           ALSO REMEMBER what everyone wants is a simple return code
                that implies no pointers to structures that describe
                what happened... just a value... so when it rolls back
                with a non-zero indicating error but actuall just no
                data found do you immediately cancel out of your dsmc
                and pass that code back to the operating system...?
     I would be willing to bet if one digs into the API poop they will find
     that where IBM points out that the return codes from DSMC are
     meaningless they are that way because (guess-duh-mation here) they are
     in fact pointing to a structure that describes what happened and if
     you want to be bold you could probably code  up a "C" routine that you
     call to involk dsmc and when dsmc exits you could probably map that
     function return value to some structure found by installing the API
     poop and make heads or tails out of it that way....
     I haven't looked into the API stuff so it's all guess-duh-mation on my
     part... BUT what would you rather do
       1) grep -i fail /path/dsmerror.log
          and if $? is 0 know that you had a failure
       OR
       2) write a "C" program to call dsmc and then map out the structure
          it returns and go from there...
     Heck, who knows it might be as easy as it points to a structure where
     the first byte is the exitcc and the second byte is the maxcc
     Or it might be pointing to an offset in the dsmc address space that
     your request returned the so-believed-to-exist structure and was freed
     when dsmc terminated so really it points nowhere...

     I'll shut up now...
     later
          Dwight



______________________________ Reply Separator _________________________________
Subject: AW: Re: Return Codes
Author:  ADSM-L (ADSM-L AT VM.MARIST DOT EDU) at unix,mime
Date:    12/11/96 7:31 AM


Dwight,

~      Lots of folks have complained about this but ADSM is following the
~      guidelines of all other programs basically...
are you serious about that?
I believe most programs on unix, windows and OS/2 Plattform return an meaningful
l error code.

Even if the would not: if you really believe the only-log file solution is bette
r, try to solve following trivial example in both scenarios, and compare the len
gth of code you have to write:

 - write (a part of) procedure, which performs incremental backup  (e.g. "dsmc -
incr -passw=xxx")
and then a) continuens to work if backup was ok, B) sends a mail to sysop and st
ops if backup was not OK.

1) scenario: DSMC does not return error code
2) scenario: DSMC does  return meaningfull error code


Juraj Salak
KEBA Banking



 ----------
~ Von: Dwight Cook
~ An: Multiple recipients of list ADSM-L
~ Betreff: Re: Return Codes
~ Datum: Dienstag, 10. Dezember 1996 18:02
~
~      NO IT DOESN'T... BUT like you mentioned if you look in your log
~      (unless you are running quiet) you will see everything listed with a
~      status and then at the end there will be an overall condition of
~      completion statement...
~
~      Lots of folks have complained about this but ADSM is following the
~      guidelines of all other programs basically... compare it to logging
~      onto your AIX node... you run many commands/tasks... if you run a
~      program that crashes would you want your logon session to report that
~      it failed when you logoff/exit ?  Better would be, if you were typing
~      90 miles an hour, hit your caplock, typed LS <ent> and the system
~      would come back with LS not found... one little syntax error... would
~      you now want misc reporting to state that your logon session was a
~      failure due to that ? ? ? ? ?
~
~      later
~          Dwight
~
~
~
~ ______________________________ Reply Separator _______________________________
__
~ Subject: Return Codes
~ Author:  ADSM-L (ADSM-L AT VM.MARIST DOT EDU) at unix,mime
~ Date:    12/9/96 3:32 PM
~
~
~ Hello,
~
~ Does anybody know if the AIX command line interface, dsmc, provides any
~ kind of return code indication as to the status of a backup or archive
~ operation? The user guide certainly doesn't contain any info on the
~ subject. It sure would beat searching thru the redirected output of the
~ backup/archive job for a text string containing '... ended with 0 failures'
~
<Prev in Thread] Current Thread [Next in Thread>