[Info-vax] RMS journaling - how it works (for dummies)

El SysMan aaa.vms at gmail.com
Mon Jul 17 08:33:24 EDT 2023


On Monday, July 17, 2023 at 2:42:58 PM UTC+3, plugh wrote:
> > I'm need to implement (in pure C of course, not in BLISS :-) ) a logic for atomic write for 4k block on several physical devices (with 512 bytes granularity) in Soft. Def. Stor. project. 
> > In a couple words: I/O request for 4k block should be spread over 4-8 disks as "atomic" action. 
> > There is "start TX" phase - and "end TX" phase. My driver accept an I/O request for the particular block and wait for "end TX" signal.
> I forgot to add - 
> This looks like a roll-your-own 2-phase commit that's missing "commit / rollback" logic. What you're describing is an in-line protocol that's also missing a time-out, i.e. what happens when "end TX" never arrives? 

Thanks!
I reading the RMS docs to refresh my knowledge about of possible variants ...
U r right there is missing "rollback" and i'm need to think about this.

Some other question: Is the RMS journaling allows nested transactions ?
Hein RMS (The) told that RMS journaling is performed at bucket level not for records, so ... how is resolved a situation when from other tread (FAB/RAB) is coming request to update the same bucket ?



More information about the Info-vax mailing list