[OpenAFS-devel] Re: vos status: Strange creation times

Andrew Deason adeason@sinenomine.net
Sun, 9 May 2010 13:00:52 -0500


On Thu, 06 May 2010 11:30:16 +0200 (CEST)
Harald Barth <haba@kth.se> wrote:

> The transaction 3097758 changes creation date to a date after the
> transaction 3097767 which obviously is younger.

That 'created' field doesn't actually track the creation time of the
transaction. It tracks the last time something touched the transaction,
which usually does correspond to when it was created, but not always.

That is, creating a transaction sets that time, but so does issuing an
AFSVolDump rpc. The time is also set when the volserver releases a
reference on the transaction, which is what I think you're seeing there.

Since your second 'vos status' output doesn't contain the RX call
information, I'm assuming 'vos status' was called after AFSVolDumpV2()
returned, but before the transaction was deleted. The last thing
AFSVolDumpV2() does is release the transaction reference, which updates
the transaction time. Normally 'vos' would delete the transaction right
after that, so I'm assuming either you got this output right before it
did, or the 'vos' command that issued the dump is either hanging or it
crashed or something.

I realize the documented meaning of that field does not agree with the
documented meaning for it. I assume the documentation should just be
updated, unless there is demand for tracking the transaction creation
time? I assume the 'vos status' field name shouldn't change so as to not
break output-scraping scripts, though the name is misleading. I don't
think the semantics of the internal field can change easily, since the
volserver may depend on it.... could just add a new transaction field to
track the creation time, though.

-- 
Andrew Deason
adeason@sinenomine.net