[Info-vax] VMS enhancement suggestion: Add a "read regardless" file open option.

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Nov 9 14:38:22 EST 2020


On 2020-11-09 18:17:31 +0000, Simon Clubley said:

> On 2020-11-09, Stephen Hoffman <seaohveh at hoffmanlabs.invalid> wrote:
>> On 2020-11-09 13:30:23 +0000, Simon Clubley said:
>> 
>>> What would be involved in adding a "read regardless" file open option 
>>> to VMS which would allow the opening of files for read only even if 
>>> they are already open for write, and then adding a qualifier to $ TYPE 
>>> to use this new option ?
>>> 
>>> How useful would others here find this capability ?
>> 
>> Not all that useful, as I'm not usually looking to access what can be 
>> inconsistent data.
> 
> Stephen, have you ever worked in commercial data processing ?

Yes.

I'm familiar with commercial data processing code, having written and 
maintained and refactored and enhanced that, and with the development 
and management and administration and politics of same.

Also familiar with the benefits and trade-offs that can arise with 
enhancement requests, too. And familiar with requests that are 
fundamentally escalations of local political and policy limits and 
workarounds, too.

> There are plenty of uses for such a facility, none of which involve 
> data integrity issues.

Some interlocks exist for a reason. Some don't. Some exist because 
developers didn't know better and/or didn't care and/or accepted poor 
defaults.

And have worked with entities that absolutely could not change and 
could not upgrade their configurations for reasons, and some of those 
for decades. Then management toggled the organizational write-lock bit 
off somewhere, and, wow, all those previously-impossible upgrades and 
source code fixes and the rest of the backlog all arrived.  Some 
enhancements are attempts to work around a developer- or management-led 
policy, and for these sorts of cases I'm more skeptical about 
enhancements. Those developers and management folks may well have 
reasons for those policies, and often do. Whether those reasons and 
related justifications are valid under broader review is another 
discussion, and one best held among local staff.

If the TYPE with FIB$M_NOLOCK is implemented, I would then foresee a 
few requests arriving for double-interlocks to prevent this override 
from working, because somebody had some reason to want to prevent 
access to data in progress. (I've used this to stage data, for 
instance.) But then FIB$M_NOLOCK does currently require system 
privilege or control access, so that's potentially more tractable than 
some of these cases.



Inevitable Digression 1: a slightly less inelegant hack might allow 
specific file open operation defaults to be overridden, akin to how 
default protections can be specified for file operations.

Inevitable Digression 2: some folks use TYPE to review indexed file 
data. I've met that usage in production more than once, too.



TL;DR: I'd prefer to re-code the app (slightly) to allow sharing, 
rather than adding FIB$M_NOLOCK to TYPE. From the vendor side of this, 
I'd prefer work toward the bigger issues latent and lurking within 
OpenVMS be addressed—job scheduling, operator communications, batch 
logging, system logging and filtering and automation, etc. This whole 
area of OpenVMS—displaying log files, scheduling and rescheduling and 
handling errors, etc—is not far enough past 1980 for my own production 
preferences.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list