[comp.os.vms] Comments on volume shadowing...

bwp@utgpu.UUCP (08/24/87)

I'd like to add a couple of comments to the recent volume shadowing
discussion.

Paul Clayton in a recent message said that dismounting a disk from a shadow
set will leave open ISAM (and possibly other types of) files in an inconsistent
state. In general, that is the case. With careful application design this
problem can be avoided. A combination of:
	- not using the RMS "deferred write" option
	- waiting for active writes to complete
	- allowing no further writes to be initiated
	- allowing all non-atomic transactions be completed and allowing
	  no new non-atomic transactions to begin
will leave a prolog 3 ISAM file consistent on disk (with the file still open
for writes) both from an RMS and application viewpoint. 

Synchronizing this disk quiescense can be accomplished fairly easily through
the use of a cluster-wide lock held CR with a blocking AST by all writers. If a
process tries to raise CR to EX then all the writers will get the AST which can
indicate to them that the database is to be quiesced. The writers indicate that
they have quiesced by giving up the CR lock they hold. When the process that
requested the EX lock gets it, the shadow set is ok to be split up. The writers
should requeue for the lock CR so that they can tell when to proceed with more
writes. The holder of the EX lock should give it up when the dismount has
completed. 

People considering using the RMS Common Journalling Facility (CJF) should be
aware that under some circumstances CJF will turn on deferred writes to user
data files even though this option is not explicitly used by the application
code. This "feature" of the CJF, at least in its initial release, will not be
avoidable. 

	Corot Reason, PROMIS Systems Corp., Toronto
	(416) 364-5361x428