Networker

Re: [Networker] volretent in 7.4.x

2009-02-09 15:28:53
Subject: Re: [Networker] volretent in 7.4.x
From: Francis Swasey <Frank.Swasey AT UVM DOT EDU>
To: NETWORKER AT LISTSERV.TEMPLE DOT EDU
Date: Mon, 9 Feb 2009 15:24:49 -0500
On 2/9/09 3:01 PM, dmitri wrote:
Francis Swasey wrote:
It is not a "no issue" ...


I know Frank, I know and agree wit hyou.  I was just quoting EMC.  I submitted a ticket with teh 
request to change "mminfo" behaviour in terms of volretent,clretent and ssretent, but 
it's like hitting a brick wall with a forehead.  They are insisting that everything "works as 
designed", here's their detailed explanation why your, my and others' problem is not a problem 
at all and why we all should be happy:


This is NOT a bug. In 7.3 NW and beyond, the Individual Clone Retention Policy feature introduced the concept of "saveset-clone-instances" for a saveset, each residing on a seperate volume. a) Each saveset-clone-instance(unique "cloneid") has its own "retention 
period"(configurable) - and that is represented via "clretent" field in "mminfo". b) So, "ssretent" is the "saveset retention period" - and that is the MAX of the "clretent" value among all the "saveset-clone-instances". You 
need to check what the "clretent" values are for each of the saveset-clone-instances(have same "ssid" but different "cloneid") - the "ssretent" for ALL the instances will be the SAME and it will be the MAX value of the "clretent". 
Logically, a "saveset" does not "expire" until ALL its instances "expire". So, there will be one "recoverable" saveset-clone-instance until the period noted in "ssretent" is passed. The "clflags" will reflect the state of the 
"saveset clone instance"(browsable, expired
!
 ) and the "ssflags" will report the status of the "saveset" in general - the "ssflags" will show "E" only when ALL of the clone instances(note, each instance is on a different volume) of that saveset have "expired" and the "clflags" 
of ALL show "E". Hope this explanation is clear enough. The "mminfo" query to run, to compare "ssid", "cloneid", "ssretent" and "clretent" would be something like: mminfo -q "name=" -r "ssid, cloneid, ssretent, 
clretent, ssflags, clflags, volume" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ c) WRT "volretent"(volume retention period), the logic is: A volume "expires" when ALL the saveset-clone-instances on it "expire" 
======================================================================== So, when the "saveset-clone-instances" pass the individual "retention period"(noted by "clretent"), they "expire". And, when ALL of them existing on the volume pass their Individual 
Clone Retention period, the volume is marked as "ex
p!
 ired"(eligible for recycling). d) That means that "volume retention pe

riod" is the MAX of ALL the "clretent" values of ALL the saveset-clone-instances on that volume. So, you need to check all the "saveset-clone-instances" on that volume for the "clretent" values, and the "volretent" will be the MAX of the 
"clretent". noted. You could run "mminfo" to check this: mminfo -q "volume=" -r "ssid, cloneid, ssflags, clflags, ssretent, clretent" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The volume will not "expire" until ALL 
the saveset-clone-instances on it "expire" - thats is, they pass their "clretent" and "clflags" show "E"). That is, "volretent" is based on "clretent" values of the saveset-clone-instances on that volume. NOTE: the "ssflags" may 
or may not show "E" - and "ssretent" may or may not be greater than the "volretent". As "ssflags" and "ssretent" take into consideration ALL the saveset-clone-instances for a saveset(each clone of a saveset resides in a seperate volume) before 
marking the saveset as "expire
d!
 " or "eligible for recycling". Hope the above explanation is clear. The 7.3 
and above Manpages and Admin Guide can be referred for additional info.

If the 7.4.4.build.634 code worked by that description, I'd be less upset. The problem with the 7.4.4.build.634 (ga released code) is that it sets the volretent value to the maximum ssretent value and not (as they are describing) to the maximum clretent value. Therefore, the volretent values are wrong.

Even with the fix installed, I'm being told that there is *no way* to correct the existing volretent values that are in error. Seems like BS to me. (Their program broke the value, it shouldn't be very hard to write some code to go fix it).

Anyway. I'll know tomorrow morning whether their fix even keeps the volretent value from being incorrectly modified.

The real shame here is that this worked correctly in 7.3.x (where x was 2 and 3 -- I never ran 7.3.4) and is broken in 7.4.3 ad 7.4.4... what kind of regression testing are they running anyway... I have to believe that it wasn't very good whatever it was.

I recently heard tell that 7.5 is the FIRST version that had the entire code base run through one of those super glorious checkers to find security and logic bugs. Yet, we see here on this list of people still having issues with 7.5.


--
Frank Swasey                    | http://www.uvm.edu/~fcs
Sr Systems Administrator        | Always remember: You are UNIQUE,
University of Vermont           |    just like everyone else.
  "I am not young enough to know everything." - Oscar Wilde (1854-1900)

To sign off this list, send email to listserv AT listserv.temple DOT edu and type 
"signoff networker" in the body of the email. Please write to networker-request 
AT listserv.temple DOT edu if you have any problems with this list. You can access the 
archives at http://listserv.temple.edu/archives/networker.html or
via RSS at http://listserv.temple.edu/cgi-bin/wa?RSS&L=NETWORKER

<Prev in Thread] Current Thread [Next in Thread>