[Info-vax] HP Integrity rx2800 i4 (2.53GHz/32.0MB) :: PAKs won't load

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Feb 29 15:56:15 EST 2016


On 2016-02-29 18:57:31 +0000, lists at openmailbox.org said:

> On Mon, 29 Feb 2016 18:27:23 +0000
> Kerry Main via Info-vax <info-vax at rbnsn.com> wrote:
> 
>> If a transaction is not completed after being committed in an 
>> active-active Cluster scenario OR in a 2PC app environment, the data is 
>> not lost, but rather an error occurs on the App screen and the App 
>> logic decides what to do with the error. In this scenario, the data did 
>> not complete at all sites, so the transaction or IO is rolled back from 
>> all sites. The update is not considered complete.
> 
> Right, standard stuff.

Other than that clustering has little to do with 2PC or 3PC transaction 
processing, sure.

Why can these get confused?   Because OpenVMS tries to write all I/O to 
disk and tries to use careful ordering of I/O writes (so that files are 
seldom left inconsistent or corrupted), it's rare to lose an I/O.   
(I've seen it happen a few times and usually secondary to a controller 
that's lost its marbles, but it's very rare.)   The downside here 
involves scaling of the I/O load.   (That, and RMS is largely incapable 
of online file management and online backup, but that's fodder for 
another day.)   Caching I/O in memory is far faster than writing to 
disk, but you then have to look at preserving the data over crashes and 
outages and upgrades.   You're also headed at RAIS and away from 
classic RAID.   OpenVMS stinks at dealing with large I/O loads, 
particularly without application help.   Linux regularly blows the 
sneakers off OpenVMS I/O, largely because Linux caches far more.    
Similarly, clustering also tends to run into a wall when multiple hosts 
are all busy slamming I/O at too few spindles.   You end up sharding 
your data across spindles and with segmenting (not partitioning) your 
cluster, particularly if you can't get your I/O load past the lock 
manager and the disk speeds.  Or you cache your data in memory, with 
all the considerations that that entails.

But none of that I/O processing is transactional.    You can easily end 
up with half set of writes written, and confusion, depending on where 
the network or the server or the application dropped out.

For transactional processing on OpenVMS, that usually involves the RMS 
Journaling product and/or DECdtm and/or a transactional database 
package, or some add-on transaction manager.

With the exception of any OpenVMS sites located in Sweden and which are 
utterly perfect and forever happy with Oracle Rdb, wouldn't it be nice 
to have a transactional database or two built into OpenVMS?

>> The difference is that 2PC is a fault tolerant Application level 
>> design, while an OpenVMS multi-site cluster is an OS and above design 
>> which  may have many critical applications, support utilities and ISV 
>> application running that were not designed with 2PC in mind.
> 
> Ok.

Clustering is nice to have, but it's not centrally relevant to a 
transactional environment.

>> Old saying used to be that the 2 best OS clustering technologies were  
>> from  OS's that had the same 3 letters - VMS/MVS (aka OpenVMS/z/OS)
> 
> It's funny because we don't ever use the world clustering or think 
> about clustering in those terms. Many big shops run on one box. And 
> most don't use replication so much. The ones that do perhaps only for 
> certain
> applications rather than the whole floor. Most just send tapes with a courier.

Transaction managers can and do operate across disparate hosts, as well 
as across clusters, as well as within clusters.


Some light reading:
http://blog.acolyer.org/2016/01/14/no-compromises/
http://the-paper-trail.org/blog/consensus-protocols-paxos/


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list