Ensure cluster-wide parameters mechanism correctness (when working with query settings parameter) (SERVER-78801)

[SERVER-78803] Introduce maxPreviousTime parameter to setClusterParameter command in sharded clusters Created: 10/Jul/23  Updated: 05/Jan/24  Resolved: 21/Dec/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.3.0-rc0

Type: Sub-task Priority: Major - P3
Reporter: Denis Grebennicov Assignee: Romans Kasperovics
Resolution: Fixed Votes: 0
Labels: M2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: QE 2023-07-24, QE 2023-08-21, QE 2023-09-04, QE 2023-09-18, QE 2023-10-02, QE 2023-10-16, QE 2023-10-30, QE 2023-11-13, QE 2023-11-27, QE 2023-12-11, QE 2023-12-25, QE 2024-01-08
Participants:

 Comments   
Comment by Githook User [ 21/Dec/23 ]

Author:

{'name': 'romanskas', 'email': '30618745+romanskas@users.noreply.github.com', 'username': 'romanskas'}

Message: SERVER-78803 Reject concurrent query settings updates in sharded clusters (#17060)

SERVER-78803 Reject concurrent query settings updates in sharded
clusters

Until now, a new value of a cluster parameter was just replacing the old
one.
For the query settings project it is important to read / modify / write
cluster parameter values. In this scenario, concurrent calls of
setQuerySettings command may lead to seemingly successful, but incorrect
results.
This commit introduces an additional 'previousTime' parameter to ensure
that the cluster parameter value that was read has not changed at the
time
of writing, otherwise the operation must fail.
SERVER-78802 has added the 'previousTime' parameter and the related
check
for replica set deployments. This change is adding the check to sharded
cluster
deployments.
As of now, the optional 'previousTime' parameter is only being used by
the
query settings command. The design consideration for this new parameter
and
the related check are described in the design document attached to the
parent
ticket SERVER-78801.

GitOrigin-RevId: f5f35648c676f7dd132ba69d34bbd5251b71a2e1
Branch: master
https://github.com/mongodb/mongo/commit/6b1483403eebc2307ac32b211bad863e21970a45

Generated at Thu Feb 08 06:39:18 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.