patroni.dcs package
Submodules
- patroni.dcs.consul module
ConsulConsul.__init__()Consul._abc_implConsul._cluster_from_nodes()Consul._consistencyConsul._delete_leader()Consul._do_attempt_to_acquire_leader()Consul._do_refresh_session()Consul._load_cluster()Consul._mpp_cluster_loader()Consul._postgresql_cluster_loader()Consul._run_and_handle_exceptions()Consul._set_service_name()Consul._update_leader()Consul._update_service()Consul._write_failsafe()Consul._write_leader_optime()Consul._write_status()Consul.adjust_ttl()Consul.attempt_to_acquire_leader()Consul.cancel_initialization()Consul.create_session()Consul.delete_cluster()Consul.delete_sync_state()Consul.deregister_service()Consul.initialize()Consul.member()Consul.refresh_session()Consul.register_service()Consul.reload_config()Consul.retry()Consul.set_config_value()Consul.set_failover_value()Consul.set_history_value()Consul.set_retry_timeout()Consul.set_sync_state_value()Consul.set_ttl()Consul.take_leader()Consul.touch_member()Consul.ttlConsul.update_service()Consul.watch()
ConsulClientConsulErrorConsulInternalErrorHTTPClientInvalidSessionInvalidSessionTTLResponsecatch_consul_errors()force_if_last_failed()service_name_from_scope_name()
- patroni.dcs.etcd module
AbstractEtcdAbstractEtcd.__init__()AbstractEtcd._abc_implAbstractEtcd._clientAbstractEtcd._handle_exception()AbstractEtcd._run_and_handle_exceptions()AbstractEtcd.get_etcd_client()AbstractEtcd.handle_etcd_exceptions()AbstractEtcd.reload_config()AbstractEtcd.retry()AbstractEtcd.set_retry_timeout()AbstractEtcd.set_socket_options()AbstractEtcd.set_ttl()AbstractEtcd.ttl
AbstractEtcdClientWithFailoverAbstractEtcdClientWithFailover.ERROR_CLSAbstractEtcdClientWithFailover.__init__()AbstractEtcdClientWithFailover._abc_implAbstractEtcdClientWithFailover._calculate_timeouts()AbstractEtcdClientWithFailover._do_http_request()AbstractEtcdClientWithFailover._get_headers()AbstractEtcdClientWithFailover._get_machines_cache_from_config()AbstractEtcdClientWithFailover._get_machines_cache_from_dns()AbstractEtcdClientWithFailover._get_machines_cache_from_srv()AbstractEtcdClientWithFailover._get_machines_list()AbstractEtcdClientWithFailover._get_members()AbstractEtcdClientWithFailover._load_machines_cache()AbstractEtcdClientWithFailover._prepare_common_parameters()AbstractEtcdClientWithFailover._prepare_get_members()AbstractEtcdClientWithFailover._prepare_request()AbstractEtcdClientWithFailover._refresh_machines_cache()AbstractEtcdClientWithFailover._update_dns_cache()AbstractEtcdClientWithFailover.api_execute()AbstractEtcdClientWithFailover.get_srv_record()AbstractEtcdClientWithFailover.machinesAbstractEtcdClientWithFailover.machines_cacheAbstractEtcdClientWithFailover.reload_config()AbstractEtcdClientWithFailover.set_base_uri()AbstractEtcdClientWithFailover.set_machines_cache_ttl()AbstractEtcdClientWithFailover.set_read_timeout()
DnsCachingResolverEtcdEtcd.__init__()Etcd._abc_implEtcd._clientEtcd._cluster_from_nodes()Etcd._delete_leader()Etcd._do_attempt_to_acquire_leader()Etcd._do_update_leader()Etcd._load_cluster()Etcd._mpp_cluster_loader()Etcd._postgresql_cluster_loader()Etcd._update_leader()Etcd._write_failsafe()Etcd._write_leader_optime()Etcd._write_status()Etcd.attempt_to_acquire_leader()Etcd.cancel_initialization()Etcd.delete_cluster()Etcd.delete_sync_state()Etcd.initialize()Etcd.member()Etcd.set_config_value()Etcd.set_failover_value()Etcd.set_history_value()Etcd.set_sync_state_value()Etcd.set_ttl()Etcd.take_leader()Etcd.touch_member()Etcd.watch()
EtcdClientEtcdErrorEtcdRaftInternalStaleEtcdNodeStaleEtcdNodeGuardcatch_etcd_errors()
- patroni.dcs.etcd3 module
AuthFailedAuthNotEnabledAuthOldRevisionDeadlineExceededEtcd3Etcd3.__init__()Etcd3._abc_implEtcd3._clientEtcd3._cluster_from_nodes()Etcd3._delete_leader()Etcd3._do_attempt_to_acquire_leader()Etcd3._do_refresh_lease()Etcd3._load_cluster()Etcd3._mpp_cluster_loader()Etcd3._postgresql_cluster_loader()Etcd3._update_leader()Etcd3._write_failsafe()Etcd3._write_leader_optime()Etcd3._write_status()Etcd3.attempt_to_acquire_leader()Etcd3.cancel_initialization()Etcd3.cluster_prefixEtcd3.create_lease()Etcd3.delete_cluster()Etcd3.delete_sync_state()Etcd3.initialize()Etcd3.member()Etcd3.refresh_lease()Etcd3.set_config_value()Etcd3.set_failover_value()Etcd3.set_history_value()Etcd3.set_socket_options()Etcd3.set_sync_state_value()Etcd3.set_ttl()Etcd3.take_leader()Etcd3.touch_member()Etcd3.watch()
Etcd3ClientEtcd3Client.ERROR_CLSEtcd3Client.__init__()Etcd3Client._abc_implEtcd3Client._cluster_versionEtcd3Client._do_auth_request()Etcd3Client._do_member_list_request()Etcd3Client._ensure_version_prefix()Etcd3Client._get_headers()Etcd3Client._get_members()Etcd3Client._handle_server_response()Etcd3Client._prepare_get_members()Etcd3Client._prepare_request()Etcd3Client.authenticate()Etcd3Client.authenticate_on_start()Etcd3Client.call_rpc()Etcd3Client.deleteprefix()Etcd3Client.deleterange()Etcd3Client.handle_auth_errors()Etcd3Client.lease_grant()Etcd3Client.lease_keepalive()Etcd3Client.prefix()Etcd3Client.put()Etcd3Client.range()Etcd3Client.txn()Etcd3Client.watchprefix()Etcd3Client.watchrange()
Etcd3ClientErrorEtcd3ErrorEtcd3ExceptionEtcd3WatchCanceledFailedPreconditionGRPCCodeGRPCCode.AbortedGRPCCode.AlreadyExistsGRPCCode.CanceledGRPCCode.DataLossGRPCCode.DeadlineExceededGRPCCode.FailedPreconditionGRPCCode.InternalGRPCCode.InvalidArgumentGRPCCode.NotFoundGRPCCode.OKGRPCCode.OutOfRangeGRPCCode.PermissionDeniedGRPCCode.ResourceExhaustedGRPCCode.UnauthenticatedGRPCCode.UnavailableGRPCCode.UnimplementedGRPCCode.Unknown
InvalidArgumentInvalidAuthTokenKVCacheLeaseNotFoundNotFoundPatroniEtcd3ClientPatroniEtcd3Client.__init__()PatroniEtcd3Client._abc_implPatroniEtcd3Client._restart_watcher()PatroniEtcd3Client._wait_cache()PatroniEtcd3Client.call_rpc()PatroniEtcd3Client.configure()PatroniEtcd3Client.get_cluster()PatroniEtcd3Client.set_base_uri()PatroniEtcd3Client.start_watcher()PatroniEtcd3Client.txn()
PermissionDeniedUnavailableUnknownUnsupportedEtcdVersionUserEmpty_handle_auth_errors()_raise_for_data()base64_decode()base64_encode()build_range_request()prefix_range_end()to_bytes()
- patroni.dcs.exhibitor module
- patroni.dcs.kubernetes module
CoreV1ApiProxyK8sClientK8sClient.ApiClientK8sClient.ApiClient._API_URL_PREFIXK8sClient.ApiClient.__init__()K8sClient.ApiClient._calculate_timeouts()K8sClient.ApiClient._do_http_request()K8sClient.ApiClient._get_api_servers()K8sClient.ApiClient._handle_server_response()K8sClient.ApiClient._load_api_servers_cache()K8sClient.ApiClient._make_headers()K8sClient.ApiClient._refresh_api_servers_cache()K8sClient.ApiClient.api_servers_cacheK8sClient.ApiClient.call_api()K8sClient.ApiClient.refresh_api_servers_cache()K8sClient.ApiClient.request()K8sClient.ApiClient.set_api_servers_cache_ttl()K8sClient.ApiClient.set_base_uri()K8sClient.ApiClient.set_read_timeout()
K8sClient.CoreV1ApiK8sClient._K8sObjectTemplateK8sClient.__cls_cacheK8sClient.__init__()K8sClient.rest
K8sConfigK8sConfig.ConfigExceptionK8sConfig.__init__()K8sConfig._get_by_name()K8sConfig._headersK8sConfig._make_headers()K8sConfig._pool_config_from_file_or_data()K8sConfig._read_token_file()K8sConfig._set_token()K8sConfig.headersK8sConfig.load_incluster_config()K8sConfig.load_kube_config()K8sConfig.pool_configK8sConfig.server
K8sConnectionFailedK8sExceptionK8sObjectKubernetesKubernetes.__init__()Kubernetes.__ipsKubernetes.__load_cluster()Kubernetes.__portsKubernetes.__target_ref()Kubernetes._abc_implKubernetes._bootstrap_labelsKubernetes._cluster_from_nodes()Kubernetes._config_resource_versionKubernetes._create_config_service()Kubernetes._delete_leader()Kubernetes._isotime()Kubernetes._leader_observed_recordKubernetes._load_cluster()Kubernetes._map_subsets()Kubernetes._mpp_cluster_loader()Kubernetes._patch_or_create()Kubernetes._postgresql_cluster_loader()Kubernetes._update_leader()Kubernetes._update_leader_with_retry()Kubernetes._wait_caches()Kubernetes._write_failsafe()Kubernetes._write_leader_optime()Kubernetes._write_status()Kubernetes.attempt_to_acquire_leader()Kubernetes.cancel_initialization()Kubernetes.client_path()Kubernetes.compare_ports()Kubernetes.delete_cluster()Kubernetes.delete_leader()Kubernetes.delete_sync_state()Kubernetes.get_mpp_coordinator()Kubernetes.initialize()Kubernetes.leader_pathKubernetes.manual_failover()Kubernetes.member()Kubernetes.patch_or_create()Kubernetes.patch_or_create_config()Kubernetes.reload_config()Kubernetes.retry()Kubernetes.set_config_value()Kubernetes.set_failover_value()Kubernetes.set_history_value()Kubernetes.set_retry_timeout()Kubernetes.set_sync_state_value()Kubernetes.set_ttl()Kubernetes.subsets_changed()Kubernetes.take_leader()Kubernetes.touch_member()Kubernetes.ttlKubernetes.update_leader()Kubernetes.watch()Kubernetes.write_leader_optime()Kubernetes.write_sync_state()
KubernetesErrorKubernetesRetriableExceptionObjectCacheObjectCache.__init__()ObjectCache._build_cache()ObjectCache._do_watch()ObjectCache._finish_response()ObjectCache._list()ObjectCache._object_cacheObjectCache._process_event()ObjectCache._responseObjectCache._watch()ObjectCache.copy()ObjectCache.delete()ObjectCache.get()ObjectCache.is_ready()ObjectCache.kill_stream()ObjectCache.run()ObjectCache.set()
_cleanup_temp_files()_create_temp_file()_run_and_handle_exceptions()catch_kubernetes_errors()to_camel_case()
- patroni.dcs.raft module
DynMemberSyncObjKVStoreTTLKVStoreTTL.__check_requirements()KVStoreTTL.__expire_keys()KVStoreTTL.__init__()KVStoreTTL.__pop()KVStoreTTL.__values_match()KVStoreTTL._autoTickThread()KVStoreTTL._delete()KVStoreTTL._delete_v0()KVStoreTTL._expire()KVStoreTTL._expire_v0()KVStoreTTL._onTick()KVStoreTTL._set()KVStoreTTL._set_v0()KVStoreTTL.delete()KVStoreTTL.destroy()KVStoreTTL.get()KVStoreTTL.retry()KVStoreTTL.set()KVStoreTTL.set_retry_timeout()KVStoreTTL.startAutoTick()
RaftRaft.__init__()Raft._abc_implRaft._cluster_from_nodes()Raft._delete_leader()Raft._load_cluster()Raft._mpp_cluster_loader()Raft._on_delete()Raft._on_set()Raft._postgresql_cluster_loader()Raft._update_leader()Raft._write_failsafe()Raft._write_leader_optime()Raft._write_status()Raft.attempt_to_acquire_leader()Raft.cancel_initialization()Raft.delete_cluster()Raft.delete_sync_state()Raft.initialize()Raft.member()Raft.reload_config()Raft.set_config_value()Raft.set_failover_value()Raft.set_history_value()Raft.set_retry_timeout()Raft.set_sync_state_value()Raft.set_ttl()Raft.take_leader()Raft.touch_member()Raft.ttlRaft.watch()
RaftErrorSyncObjUtility_TCPTransportresolve_host()
- patroni.dcs.zookeeper module
PatroniKazooClientPatroniSequentialThreadingHandlerZooKeeperZooKeeper.__init__()ZooKeeper.__last_member_dataZooKeeper._abc_implZooKeeper._cancel_initialization()ZooKeeper._create()ZooKeeper._delete_leader()ZooKeeper._kazoo_connect()ZooKeeper._load_cluster()ZooKeeper._mpp_cluster_loader()ZooKeeper._postgresql_cluster_loader()ZooKeeper._set_or_create()ZooKeeper._update_leader()ZooKeeper._watcher()ZooKeeper._write_failsafe()ZooKeeper._write_leader_optime()ZooKeeper._write_status()ZooKeeper.attempt_to_acquire_leader()ZooKeeper.cancel_initialization()ZooKeeper.delete_cluster()ZooKeeper.delete_sync_state()ZooKeeper.get_children()ZooKeeper.get_node()ZooKeeper.get_status()ZooKeeper.initialize()ZooKeeper.load_members()ZooKeeper.member()ZooKeeper.reload_config()ZooKeeper.set_config_value()ZooKeeper.set_failover_value()ZooKeeper.set_history_value()ZooKeeper.set_retry_timeout()ZooKeeper.set_sync_state_value()ZooKeeper.set_ttl()ZooKeeper.take_leader()ZooKeeper.touch_member()ZooKeeper.ttlZooKeeper.watch()
ZooKeeperError
Module contents
Abstract classes for Distributed Configuration Store.
- class patroni.dcs.AbstractDCS(config: Dict[str, Any], mpp: AbstractMPP)
Bases:
ABCAbstract representation of DCS modules.
Implementations of a concrete DCS class, using appropriate backend client interfaces, must include the following methods and properties.
Functional methods that are critical in their timing, required to complete within
retry_timeoutperiod in order to prevent the DCS considered inaccessible, each perform construction of complex data objects:_postgresql_cluster_loader():method which processes the structure of data stored in the DCS used to build the
Clusterobject with all relevant associated data.
_mpp_cluster_loader():Similar to above but specifically representing MPP group and workers information.
_load_cluster():main method for calling specific
loadermethod to build theClusterobject representing the state and topology of the cluster.
Functional methods that are critical in their timing and must be written with ACID transaction properties in mind:
attempt_to_acquire_leader():method used in the leader race to attempt to acquire the leader lock by creating the leader key in the DCS, if it does not exist.
_update_leader():method to update
leaderkey in DCS. Relies on Compare-And-Set to ensure the Primary lock key is updated. If this fails to update within theretry_timeoutwindow the Primary will be demoted.
Functional method that relies on Compare-And-Create to ensure only one member creates the relevant key:
initialize():method used in the race for cluster initialization which creates the
initializekey in the DCS.
DCS backend getter and setter methods and properties:
take_leader(): method to create a new leader key in the DCS.set_ttl(): method for setting TTL value in DCS.ttl(): property which returns the current TTL.set_retry_timeout(): method for settingretry_timeoutin DCS backend._write_leader_optime(): compatibility method to write WAL LSN to DCS._write_status(): method to write WAL LSN for slots to the DCS._write_failsafe(): method to write cluster topology to the DCS, used by failsafe mechanism.touch_member(): method to update individual member key in the DCS.set_history_value(): method to set thehistorykey in the DCS.
DCS setter methods using Compare-And-Set which although important are less critical if they fail, attempts can be retried or may result in warning log messages:
set_failover_value(): method to create and/or update thefailoverkey in the DCS.set_config_value(): method to create and/or update thefailoverkey in the DCS.set_sync_state_value(): method to set the synchronous statesynckey in the DCS.
DCS data and key removal methods:
delete_sync_state():likewise, a method to remove synchronous state
synckey from the DCS.
delete_cluster():method which will remove cluster information from the DCS. Used only from patronictl.
_delete_leader():method relies on CAS, used by a member that is the current leader, to remove the
leaderkey in the DCS.
cancel_initialization():method to remove the
initializekey for the cluster from the DCS.
If either of the sync_state set or delete methods fail, although not critical, this may result in
Synchronous replication key updated by someone elsemessages being logged.Care should be taken to consult each abstract method for any additional information and requirements such as expected exceptions that should be raised in certain conditions and the object types for arguments and return from methods and properties.
- _CONFIG = 'config'
- _FAILOVER = 'failover'
- _FAILSAFE = 'failsafe'
- _HISTORY = 'history'
- _INITIALIZE = 'initialize'
- _LEADER = 'leader'
- _LEADER_OPTIME = 'optime/leader'
- _MEMBERS = 'members/'
- _OPTIME = 'optime'
- _STATUS = 'status'
- _SYNC = 'sync'
- __get_postgresql_cluster(path: str | None = None) Cluster
Low level method to load a
Clusterobject from DCS.- Parameters:
path – optional client path in DCS backend to load from.
- Returns:
a loaded
Clusterinstance.
- __init__(config: Dict[str, Any], mpp: AbstractMPP) None
Prepare DCS paths, MPP object, initial values for state information and processing dependencies.
- Parameters:
config –
dict, reference to config section of selected DCS. i.e.:zookeeperfor zookeeper,etcdfor etcd, etc…mpp – an object implementing
AbstractMPPinterface.
- _abc_impl = <_abc._abc_data object>
- _build_retain_slots(cluster: Cluster, slots: Dict[str, int] | None) List[str] | None
Handle retention policy of physical replication slots for cluster members.
When the member key is missing we want to keep its replication slot for a while, so that WAL segments will not be already absent when it comes back online. It is being solved by storing the list of replication slots representing members in the
retain_slotsfield of the/statuskey.This method handles retention policy by keeping the list of such replication slots in memory and removing names when they were observed longer than
member_slots_ttlago.- Parameters:
cluster –
Clusterobject with information about the current cluster state.slots – slot names with LSN values that exist on the leader node and consists of slots for cluster members and permanent replication slots.
- Returns:
the list of replication slots to be written to
/statuskey orNone.
- abstractmethod _delete_leader(leader: Leader) bool
Remove leader key from DCS.
This method should remove leader key if current instance is the leader.
- Parameters:
leader –
Leaderobject with information about the leader.- Returns:
Trueif successfully committed to DCS.
- _get_mpp_cluster() Cluster
Load MPP cluster from DCS.
- Returns:
A MPP
Clusterinstance for the coordinator with workers clusters in the Cluster.workers dict.
- abstractmethod _load_cluster(path: str, loader: Callable[[Any], Cluster | Dict[int, Cluster]]) Cluster | Dict[int, Cluster]
Main abstract method that implements the loading of
Clusterinstance.Note
Internally this method should call the loader method that will build
Clusterobject which represents current state and topology of the cluster in DCS. This method supposed to be called only by theget_cluster()method.- Parameters:
path – the path in DCS where to load Cluster(s) from.
loader – one of
_postgresql_cluster_loader()or_mpp_cluster_loader().
- Raise:
DCSErrorin case of communication problems with DCS. If the current node was running as a primary and exception raised, instance would be demoted.
- abstractmethod _mpp_cluster_loader(path: Any) Dict[int, Cluster]
Load and build all PostgreSQL clusters from a single MPP cluster.
- abstractmethod _postgresql_cluster_loader(path: Any) Cluster
Load and build the
Clusterobject from DCS, which represents a single PostgreSQL cluster.
- abstractmethod _update_leader(leader: Leader) bool
Update
leaderkey (or session) ttl.Note
You have to use CAS (Compare And Swap) operation in order to update leader key, for example for etcd
prevValueparameter must be used.If update fails due to DCS not being accessible or because it is not able to process requests (hopefully temporary), the
DCSErrorexception should be raised.- Parameters:
leader – a reference to a current
leaderobject.- Returns:
Trueifleaderkey (or session) has been updated successfully.
- abstractmethod _write_failsafe(value: str) bool
Write current cluster topology to DCS that will be used by failsafe mechanism (if enabled).
- Parameters:
value – failsafe topology serialized in JSON format.
- Returns:
Trueif successfully committed to DCS.
- abstractmethod _write_leader_optime(last_lsn: str) bool
Write current WAL LSN into
/optime/leaderkey in DCS.- Parameters:
last_lsn – absolute WAL LSN in bytes.
- Returns:
Trueif successfully committed to DCS.
- abstractmethod _write_status(value: str) bool
Write current WAL LSN and
confirmed_flush_lsnof permanent slots into the/statuskey in DCS.- Parameters:
value – status serialized in JSON format.
- Returns:
Trueif successfully committed to DCS.
- acquire_leader_lock() bool
Attempt to acquire leader lock.
Note
This method wraps
attempt_to_acquire_leader(): and is used to reset retention time of physical replication slots that representing members of the cluster when current node is to be promoted to the leader.- Returns:
Trueif the leader key has been created successfully.
- abstractmethod attempt_to_acquire_leader() bool
Attempt to acquire leader lock.
Note
This method should create
/leaderkey with the value_name.The key must be created atomically. In case the key already exists it should not be overwritten and
Falsemust be returned.If key creation fails due to DCS not being accessible or because it is not able to process requests (hopefully temporary), the
DCSErrorexception should be raised.- Returns:
Trueif key has been created successfully.
- abstractmethod cancel_initialization() bool
Removes the
initializekey for a cluster.- Returns:
Trueif successfully committed to DCS.
- client_path(path: str) str
Construct the absolute key name from appropriate parts for the DCS type.
- Parameters:
path – The key name within the current Patroni cluster.
- Returns:
absolute key name for the current Patroni cluster.
- abstractmethod delete_cluster() bool
Delete cluster from DCS.
- Returns:
Trueif successfully committed to DCS.
- delete_leader(leader: Leader | None, last_lsn: int | None = None) bool
Update
optime/leaderand voluntarily remove leader key from DCS.This method should remove leader key if current instance is the leader.
- Parameters:
leader –
Leaderobject with information about the leader.last_lsn – latest checkpoint location in bytes.
- Returns:
boolean result of called abstract
_delete_leader().
- abstractmethod delete_sync_state(version: Any | None = None) bool
Delete the synchronous state from DCS.
- Parameters:
version – for conditional deletion of the key/object.
- Returns:
Trueif delete successful.
- get_cluster() Cluster
Retrieve a fresh view of DCS.
Note
Stores copy of time, status and failsafe values for comparison in DCS update decisions. Caching is required to avoid overhead placed upon the REST API.
Returns either a PostgreSQL or MPP implementation of
Clusterdepending on availability.- Returns:
- get_mpp_coordinator() Cluster | None
Load the PostgreSQL cluster for the MPP Coordinator.
Note
This method is only executed on the worker nodes to find the coordinator.
- Returns:
Select
Clusterinstance associated with the MPP Coordinator group ID.
- abstractmethod initialize(create_new: bool = True, sysid: str = '') bool
Race for cluster initialization.
This method should atomically create
initializekey and returnTrue, otherwise it should returnFalse.- Parameters:
create_new –
Falseif the key should already exist (in the case we are setting the system_id).sysid – PostgreSQL cluster system identifier, if specified, is written to the key.
- Returns:
Trueif key has been created successfully.
- is_mpp_coordinator() bool
Clusterinstance has a Coordinator group ID.- Returns:
Trueif the given node is running as the MPP Coordinator.
- property leader_optime_path: str
Get the client path for
optime/leader(legacy key, superseded bystatus).
- manual_failover(leader: str | None, candidate: str | None, scheduled_at: datetime | None = None, version: Any | None = None) bool
Prepare dictionary with given values and set
/failoverkey in DCS.- Parameters:
leader – value to set for
leader.candidate – value to set for
member.scheduled_at – value converted to ISO date format for
scheduled_at.version – for conditional update of the key/object.
- Returns:
Trueif successfully committed to DCS.
- property mpp: AbstractMPP
Get the effective underlying MPP, if any has been configured.
- reload_config(config: Config | Dict[str, Any]) None
Load and set relevant values from configuration.
Sets
loop_wait,ttlandretry_timeoutproperties.- Parameters:
config – Loaded configuration information object or dictionary of key value pairs.
- abstractmethod set_config_value(value: str, version: Any | None = None) bool
Create or update
/configkey in DCS.- Parameters:
value – new value to set in the
configkey.version – for conditional update of the key/object.
- Returns:
Trueif successfully committed to DCS.
- abstractmethod set_failover_value(value: str, version: Any | None = None) bool
Create or update
/failoverkey.- Parameters:
value – value to set.
version – for conditional update of the key/object.
- Returns:
Trueif successfully committed to DCS.