Problems with -time rules in config specs

This is in the context of (base) ClearCase.

One frequently sees the recommendation of using time rules in config specs, as an alternative to labels.

There is however an inherent problem with time, as soon as one works in a MultiSite context: time is local. What is the reference of the time rule (independently from the zone in which it is expressed)?

this of the original replica (and vob)

What are you comparing it to?

your local time.

Well, you shouldn't...

Demo:

  • I disable temporarily the shipping of packets from site A to site B (it could be temporary congestion or whatever)
  • I produce a change on site A, in the branch agreed for deliveries
  • On site B, I set my config spec rule, with a time clause
  • I check the version I see, with the rule
  • Now I re-enable the shipping
  • The time rule gets re-evaluated and shows now the new version!
Site A:

pip> date
Mon Oct  1 14:58:18 IST 2007
pip> ct ls foo.txt
foo.txt@@/main/mg-002/1                                  Rule: .../mg-002/LATEST
pip> ct co -nc foo.txt
Checked out "foo.txt" from version "/main/mg-002/1".
pip> echo oooo >> foo.txt
pip> ct ci -nc foo.txt
Checked in "foo.txt" version "/main/mg-002/2".
pip> ct des -fmt '%d\n' foo.txt
2007-10-01T14:59:19+01
pip> ll /var/adm/rational/clearcase/shipping/ms_stage/outgoing/sh*
-rw-r--r--  1 vobadm root  520 Oct  1 15:02 sh_o_sync_jps_2007-10-01T15.02.47+01_6792.gz
-rw-r--r--  1 vobadm root  434 Oct  1 15:02 sync_jps_2007-10-01T15.02.47+01_6792.gz
Site B:

pip> ct ls foo.txt
foo.txt@@/main/mg-002/1                                  Rule: .../mg-002/LATEST -time 1-Oct.15:00
pip> date
Mon Oct  1 15:03:46 IST 2007
Site A:

pip> sudo cleartool sched -run "Daily MultiSite Shipping Stage Class"
Job 6831 started on 2007-10-01T15:04:23+01.
Site B:

pip> ct ls foo.txt
foo.txt@@/main/mg-002/2                                  Rule: .../mg-002/LATEST -time 1-Oct.15:00

The conclusion is that using time rules gives a false sense of security. If you want to be sure that your config spec specifies a version which will not change silently, apply a local label!

-- MarcGirod - 01 Oct 2007



EditAttachPrint versionHistory: r1BacklinksRaw ViewRaw editMore topic actions