[SERVER-31926] Arbiters no longer report logicalSessionTimeoutMinutes Created: 10/Nov/17 Updated: 08/Jan/24 Resolved: 13/Nov/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 3.6.0-rc3 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Critical - P2 |
| Reporter: | Shane Harvey | Assignee: | Backlog - Replication Team |
| Resolution: | Works as Designed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
After
This breaks the Driver Sessions spec process for How to Check Whether a Deployment Supports Sessions. |
| Comments |
| Comment by Tess Avitabile (Inactive) [ 13/Nov/17 ] | |||||||||||||||||
|
I wasn't familiar with types Ghost or Other, but I would think not. Only data-bearing nodes have the FCV. For a new replica set (clean data files), the FCV document is written by the primary at replica set initiate time, so the FCV is not meaningful before then. I am not sure about the case where a server is removed from the replica set config. If that means it is no longer replicating writes, then yes, it should not be consulted for the FCV. | |||||||||||||||||
| Comment by Jeffrey Yemin [ 13/Nov/17 ] | |||||||||||||||||
|
tess.avitabile what about replica set members of type Ghost or Other, as defined here. Should either of these not be considered as well? | |||||||||||||||||
| Comment by Tess Avitabile (Inactive) [ 13/Nov/17 ] | |||||||||||||||||
|
Yes | |||||||||||||||||
| Comment by Shane Harvey [ 11/Nov/17 ] | |||||||||||||||||
|
Thank you tess.avitabile. If arbiters can never safely report FCV "3.6", then this is a bug in the drivers specification. Do you agree that we must not consider arbiters when determining if a cluster supports sessions? | |||||||||||||||||
| Comment by Tess Avitabile (Inactive) [ 11/Nov/17 ] | |||||||||||||||||
|
The default in-memory value for FCV on mongod is 3.4, and it only gets set to 3.6 in the OpObserver when it sees an FCV document with the value 3.6, so since an arbiter is not data bearing, it will never see the document. We do not have a mechanism for arbiters to know the FCV of the replica set. | |||||||||||||||||
| Comment by Shane Harvey [ 10/Nov/17 ] | |||||||||||||||||
|
It seems that an arbiter is always in featureCompatibilityVersion "3.4":
Even when the rest of the set has featureCompatibilityVersion "3.6":
|