You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Minor update to interal distributed guide for multi-project
This PR adds a minimal amount information about multi-project so that
the existing distributed guide is up-to-date.
Relates: elastic#123565
Resolves: ES-10985
The [Metadata] of a [ClusterState] is persisted on disk and comprises information from two categories:
119
+
1. Cluster scope information such as `clusterUUID`, `CoordinationMetadata`
120
+
2. Project scope information ([ProjectMetadata]) such as indices and templates belong to each project.
121
+
122
+
Some concepts are applicable to both cluster and project scopes, e.g. [persistent tasks](#persistent-tasks). The state of a persistent task is therefore stored accordingly depending on the task's scope.
123
+
113
124
#### Master Service
114
125
115
126
#### Cluster State Publication
@@ -306,7 +317,7 @@ policies.
306
317
307
318
### How cluster capacity is determined
308
319
309
-
[AutoscalingMetadata][] implements [Metadata.Custom][] in order to persist autoscaling policies. Each
320
+
[AutoscalingMetadata][] implements [Metadata.ClusterCustom][] in order to persist autoscaling policies. Each
310
321
Decider is an implementation of [AutoscalingDeciderService][]. The [AutoscalingCalculateCapacityService][]
311
322
is responsible for running the calculation.
312
323
@@ -322,7 +333,7 @@ calls [through the CapacityResponseCache][], into the `AutoscalingCalculateCapac
Up until now we have discussed only ephemeral tasks. If we want a task to survive node failures, it needs to be registered as a persistent task at the cluster level.
519
533
520
-
Plugins can register persistent tasks definitions by implementing [PersistentTaskPlugin] and returning one or more [PersistentTasksExecutor] instances. These are collated into a [PersistentTasksExecutorRegistry] which is provided to [PersistentTasksNodeService] active on each node in the cluster, and a [PersistentTasksClusterService] active on the master.
534
+
Plugins can register persistent tasks definitions by implementing [PersistentTaskPlugin] and returning one or more [PersistentTasksExecutor] instances. These are collated into a [PersistentTasksExecutorRegistry] which is provided to [PersistentTasksNodeService] active on each node in the cluster, and a [PersistentTasksClusterService] active on the master. A [PersistentTasksExecutor] can declare either [project][PersistentTasksExecutor.Scope.Project] or [cluster][PersistentTasksExecutor.Scope.Cluster] scope, but not both. A project scope task is not able to access data on a different project.
521
535
522
-
The [PersistentTasksClusterService] runs on the master to manage the set of running persistent tasks. It periodically checks that all persistent tasks are assigned to live nodes and handles the creation, completion, removal and updates-to-the-state of persistent task instances in the cluster state (see [PersistentTasksCustomMetadata]).
536
+
The [PersistentTasksClusterService] runs on the master to manage the set of running persistent tasks. It periodically checks that all persistent tasks are assigned to live nodes and handles the creation, completion, removal and updates-to-the-state of persistent task instances in the cluster state (see [PersistentTasksCustomMetadata] and [ClusterPersistentTasksCustomMetadata]).
523
537
524
538
The [PersistentTasksNodeService] monitors the cluster state to:
525
539
- Start any tasks allocated to it (tracked in the local [TaskManager] by an [AllocatedPersistentTask])
@@ -529,7 +543,7 @@ If a node leaves the cluster while it has a persistent task allocated to it, the
529
543
530
544
Some examples of the use of persistent tasks include:
531
545
-[ShardFollowTasksExecutor]: Defined by [cross-cluster replication](#cross-cluster-replication-ccr) to poll a remote cluster for updates
532
-
-[HealthNodeTaskExecutor]: Used to schedule work related to monitoring cluster health
546
+
-[HealthNodeTaskExecutor]: Used to schedule work related to monitoring cluster health. This is currently the only example of a cluster scope persistent task.
533
547
-[SystemIndexMigrationExecutor]: Manages the migration of system indices after an upgrade
0 commit comments