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
Do we want to store in cluster state? An alternative option would be to introduce “internal repositories” that are not stored in the cluster state and are local to a node. Register CcrRepository based on settings update #36086 prototypes storing the repository in the cluster state.
How do we handle name conflicts with installed user repositories?
How do we ensure consistency across nodes if we go with the internal repository route?
If we go with internal repository route, we do want to provide any introspection capabilities for end users?
Initialize CcrRepositorys based on settings at node start.
Initialize empty shards through Repository#restoreShard.
This functionality is not currently exposed on the remote client.
It is necessary for the request for a file chunk and to delete the session. We do not want to route the file chunks through an intermediate node if possible.
Look into how we do BWC logic. Currently we only allow the restore if the follower master is the same version or higher as the highest versioned leader data node.
Determine what types of connections we want to use for recovery
6 connections of type TransportRequestOptions.Type.REG, TransportRequestOptions.Type.PING. The recovery actions use the REG channel type. However, we do support dedicated RECOVERY channel types. We could consider adding RECOVERY channels to the remote cluster connection profile and use those.
CCR Bootstrap from Remote
Pre-feature freeze
CcrRepositoryfor each remote clusterCcrRepositorysbased on settings at node start.Repository#restoreShard.CcrRepositoryrestore works with security enabled (Allow system privilege to execute proxied actions #37508)PutFollowActionthrough theRestoreServiceusing theCcrRepository.CcrRepositoryto init follower index #35719 prototypes this workPutFollowActionsemantics regards whether it should wait for restore to complete. (UseCcrRepositoryto init follower index #35719 )ShardFollowTasksExecutorandShardFollowNodeTaskhave existing mechanisms for followers to update mapping versions as the leader mappings change.putagain if it falls behind (Add test forPutFollowActionon a closed index #38236)Post-feature freeze
PutFollowActionand throw exception if leader cluster is on higher version than follower (Add rolling upgrade multi cluster test module #38277)ccr.indices.recovery.max_bytes_per_sec(Add documentation on remote recovery #39483)ccr.indices.recovery.recovery_activity_timeout(Add documentation on remote recovery #39483)ccr.indices.recovery.internal_action_timeout(Add documentation on remote recovery #39483)ccr.indices.recovery.chunk_size(Add documentation on remote recovery #39483)ccr.indices.recovery.max_concurrent_file_chunks(Add documentation on remote recovery #39483)followingdocumentation in ccr overview #39936)overviewdocs information into a mechanics of replication page.TransportRequestOptions.Type.REG, TransportRequestOptions.Type.PING. The recovery actions use theREGchannel type. However, we do support dedicatedRECOVERYchannel types. We could consider addingRECOVERYchannels to the remote cluster connection profile and use those.