Operating System - OpenVMS
Showing results for 
Search instead for 
Did you mean: 

OpenVMS cluster - expected_votes

Go to solution
Peter Zeiszler
Trusted Contributor

OpenVMS cluster - expected_votes

I have a 4 node cluster with 3 of them being voting nodes (vote=1). On one node the value for expected_votes had a typo so the expected votes was calculated. Of this I would have expected to see expected_votes calculated to 3 however its coming back as 4. This is openvms 7.3-2.

I hardcoded the expected votes in modparams.
EXPECTED_VOTES parameter information:- AUTOGEN parameter calculation has been overridden. The calculated value was 4. The value 3 will be used in accordance with the following requirements:EXPECTED_VOTES has been specified by a hard-coded value of 3.

I checked the systems and qdskvotes=0 on all and votes are 1 where they are suppose to be. When I had a node reboot is when I found out the expected_votes was wrong - had to do a set cluster/expected=3.

Is my understanding how expected_votes is calculated wrong?
Honored Contributor

Re: OpenVMS cluster - expected_votes

Here, just establish the VOTES and EXPECTED_VOTES values as appropriate; this is VOTES=1 (for each of three cluster hosts) and EXPECTED_VOTES=3, based on your comments.

At its core, this looks to be an AUTOGEN question more than anything else, and particularly around how AUTOGEN picks a default value for this parameter when you don't establish one.

This calculation of the default is not related to the operational processing of VOTES and EXPECTED_VOTES and the downstream calculation of quorum within a cluster.

See the AUTOGEN.COM DCL below for the logic used:

$temp = 1
$IF cluster THEN GOTO genparams55
$mscp_device = (F$GETDVI(F$TRNLNM("sys$sysdevice"),"devchar2") .AND. 32) / 32
$IF .NOT. mscp_device THEN GOTO genparams55
$temp = 0
$GOSUB Check_overrides
$IF temp .NE. vaxcluster THEN GOSUB output_overrides
$IF temp .LT. temp1 THEN temp = temp1
$param_name = "EXPECTED_VOTES"
$GOSUB Check_overrides
$IF temp .NE. expected_votes THEN GOSUB output_overrides
$temp = agen$d_votes
$IF satellite THEN temp = 0
$param_name = "VOTES"
$GOSUB Check_overrides
$IF temp .NE. votes THEN GOSUB output_overrides
$temp = agen$d_mvtimeout
$param_name = "MVTIMEOUT"
$GOSUB Check_overrides
$IF temp .NE. mvtimeout THEN GOSUB output_overrides
Peter Zeiszler
Trusted Contributor

Re: OpenVMS cluster - expected_votes

You know I should have thought about drilling into autogen.
Apparently when it first joined the cluster it thought it was a voting member. I changed the votes but didn't set expected_votes at that time. So it still remembered its old one and didn't do any calculation but just kept recalling its old value.

Peter Zeiszler
Trusted Contributor

Re: OpenVMS cluster - expected_votes

Closing the thread.