Documentation
¶
Index ¶
- Constants
- func DeleteMarkerAdd(filename string) string
- func IsCancelled(err error, meta *DistributedBackupDescriptor) bool
- type BackupDescriptor
- func (d *BackupDescriptor) AllExist(classes []string) string
- func (d *BackupDescriptor) Exclude(classes []string)
- func (d *BackupDescriptor) Filter(pred func(s string) bool)
- func (d *BackupDescriptor) GetCompressionType() CompressionType
- func (d *BackupDescriptor) Include(classes []string)
- func (d *BackupDescriptor) List() []string
- func (d *BackupDescriptor) ToDistributed() *DistributedBackupDescriptor
- func (d *BackupDescriptor) Validate(newSchema bool) error
- type ClassDescriptor
- type CompressionType
- type CreateMeta
- type DistributedBackupDescriptor
- func (d *DistributedBackupDescriptor) AllExist(classes []string) string
- func (d *DistributedBackupDescriptor) ApplyNodeMapping()
- func (d *DistributedBackupDescriptor) Classes() []string
- func (d *DistributedBackupDescriptor) Count() int
- func (d *DistributedBackupDescriptor) Exclude(classes []string)
- func (d *DistributedBackupDescriptor) Filter(pred func(s string) bool)
- func (d *DistributedBackupDescriptor) Include(classes []string)
- func (d *DistributedBackupDescriptor) Len() int
- func (d *DistributedBackupDescriptor) RemoveEmpty() *DistributedBackupDescriptor
- func (d *DistributedBackupDescriptor) ResetStatus() *DistributedBackupDescriptor
- func (d *DistributedBackupDescriptor) ToMappedNodeName(nodeName string) string
- func (d *DistributedBackupDescriptor) ToOriginalNodeName(nodeName string) string
- func (d *DistributedBackupDescriptor) Validate() error
- type ErrContextExpired
- type ErrInternal
- type ErrNotFound
- type ErrUnprocessable
- type NodeDescriptor
- type RestoreMeta
- type ShardDescriptor
- type Status
Constants ¶
const DeleteMarker = "__DELETE_ME_AFTER_BACKUP__"
DeleteMarkerAdd marks folders of indices that have been deleted during an ongoing backup and are already removed from store and schema. However, we want to keep them on disk to ensure that the backup can complete. The folders are removed after backup completion. In case of a crash they are deleted at the next startup.
Variables ¶
This section is empty.
Functions ¶
func DeleteMarkerAdd ¶ added in v1.32.17
func IsCancelled ¶ added in v1.24.26
func IsCancelled(err error, meta *DistributedBackupDescriptor) bool
Types ¶
type BackupDescriptor ¶
type BackupDescriptor struct {
StartedAt time.Time `json:"startedAt"`
CompletedAt time.Time `json:"completedAt"`
ID string `json:"id"` // User created backup id
Classes []ClassDescriptor `json:"classes"`
RbacBackups []byte `json:"rbacBackups"`
UserBackups []byte `json:"userBackups"`
Status string `json:"status"` // "STARTED|TRANSFERRING|TRANSFERRED|SUCCESS|FAILED|CANCELED"
Version string `json:"version"` //
ServerVersion string `json:"serverVersion"`
Error string `json:"error"`
PreCompressionSizeBytes int64 `json:"preCompressionSizeBytes"` // Size of this node's backup in bytes before compression
CompressionType *CompressionType `json:"compressionType,omitempty"`
}
BackupDescriptor contains everything needed to completely restore a list of classes
func (*BackupDescriptor) AllExist ¶
func (d *BackupDescriptor) AllExist(classes []string) string
AllExist checks if all classes exist in d. It returns either "" or the first class which it could not find
func (*BackupDescriptor) Exclude ¶
func (d *BackupDescriptor) Exclude(classes []string)
Exclude removes classes from d
func (*BackupDescriptor) Filter ¶
func (d *BackupDescriptor) Filter(pred func(s string) bool)
Filter classes based on predicate
func (*BackupDescriptor) GetCompressionType ¶ added in v1.32.18
func (d *BackupDescriptor) GetCompressionType() CompressionType
List all existing classes in d
func (*BackupDescriptor) Include ¶
func (d *BackupDescriptor) Include(classes []string)
Include only these classes and remove everything else
func (*BackupDescriptor) List ¶
func (d *BackupDescriptor) List() []string
List all existing classes in d
func (*BackupDescriptor) ToDistributed ¶
func (d *BackupDescriptor) ToDistributed() *DistributedBackupDescriptor
ToDistributed is used just for backward compatibility with the old version.
func (*BackupDescriptor) Validate ¶
func (d *BackupDescriptor) Validate(newSchema bool) error
type ClassDescriptor ¶
type ClassDescriptor struct {
Name string `json:"name"` // DB class name, also selected by user
Shards []*ShardDescriptor `json:"shards"`
ShardingState []byte `json:"shardingState"`
Schema []byte `json:"schema"`
Aliases []byte `json:"aliases"`
// AliasesIncluded makes the old backup backward compatible when
// old backups are restored by newer ClassDescriptor that supports
// aliases
AliasesIncluded bool `json:"aliasesIncluded"`
Chunks map[int32][]string `json:"chunks,omitempty"`
Error error `json:"-"`
PreCompressionSizeBytes int64 `json:"preCompressionSizeBytes"` // Size of this class's backup in bytes before compression
}
ClassDescriptor contains everything needed to completely restore a class
type CompressionType ¶ added in v1.32.18
type CompressionType string
const ( CompressionZSTD CompressionType = "zstd" CompressionGZIP CompressionType = "gzip" CompressionNone CompressionType = "none" )
type CreateMeta ¶
type DistributedBackupDescriptor ¶
type DistributedBackupDescriptor struct {
StartedAt time.Time `json:"startedAt"`
CompletedAt time.Time `json:"completedAt"`
ID string `json:"id"` // User created backup id
Nodes map[string]*NodeDescriptor `json:"nodes"`
NodeMapping map[string]string `json:"node_mapping"`
Status Status `json:"status"` //
Version string `json:"version"` //
ServerVersion string `json:"serverVersion"`
Leader string `json:"leader"`
Error string `json:"error"`
PreCompressionSizeBytes int64 `json:"preCompressionSizeBytes"` // Size of this node's backup in bytes before compression
CompressionType CompressionType `json:"compressionType"`
}
DistributedBAckupDescriptor contains everything need to completely restore a distributed backup
func (*DistributedBackupDescriptor) AllExist ¶
func (d *DistributedBackupDescriptor) AllExist(classes []string) string
AllExist checks if all classes exist in d. It returns either "" or the first class which it could not find
func (*DistributedBackupDescriptor) ApplyNodeMapping ¶ added in v1.22.0
func (d *DistributedBackupDescriptor) ApplyNodeMapping()
ApplyNodeMapping applies d.NodeMapping translation to d.Nodes. If a node in d.Nodes is not translated by d.NodeMapping, it will remain unchanged.
func (*DistributedBackupDescriptor) Classes ¶
func (d *DistributedBackupDescriptor) Classes() []string
Classes returns all classes contained in d
func (*DistributedBackupDescriptor) Count ¶
func (d *DistributedBackupDescriptor) Count() int
Count number of classes
func (*DistributedBackupDescriptor) Exclude ¶
func (d *DistributedBackupDescriptor) Exclude(classes []string)
Exclude removes classes from d
func (*DistributedBackupDescriptor) Filter ¶
func (d *DistributedBackupDescriptor) Filter(pred func(s string) bool)
Filter classes based on predicate
func (*DistributedBackupDescriptor) Include ¶
func (d *DistributedBackupDescriptor) Include(classes []string)
Include only these classes and remove everything else
func (*DistributedBackupDescriptor) Len ¶
func (d *DistributedBackupDescriptor) Len() int
Len returns how many nodes exist in d
func (*DistributedBackupDescriptor) RemoveEmpty ¶
func (d *DistributedBackupDescriptor) RemoveEmpty() *DistributedBackupDescriptor
RemoveEmpty removes any nodes with an empty class list
func (*DistributedBackupDescriptor) ResetStatus ¶
func (d *DistributedBackupDescriptor) ResetStatus() *DistributedBackupDescriptor
resetStatus sets status and sub-statuses to Started It also empties error and sub-errors
func (*DistributedBackupDescriptor) ToMappedNodeName ¶ added in v1.22.0
func (d *DistributedBackupDescriptor) ToMappedNodeName(nodeName string) string
ToMappedNodeName will return nodeName after applying d.NodeMapping translation on it. If nodeName is not contained in d.nodeMapping, returns nodeName unmodified
func (*DistributedBackupDescriptor) ToOriginalNodeName ¶ added in v1.22.0
func (d *DistributedBackupDescriptor) ToOriginalNodeName(nodeName string) string
ToOriginalNodeName will return nodeName after trying to find an original node name from d.NodeMapping values. If nodeName is not contained in d.nodeMapping values, returns nodeName unmodified
func (*DistributedBackupDescriptor) Validate ¶
func (d *DistributedBackupDescriptor) Validate() error
type ErrContextExpired ¶
type ErrContextExpired struct {
// contains filtered or unexported fields
}
func NewErrContextExpired ¶
func NewErrContextExpired(err error) ErrContextExpired
func (ErrContextExpired) Error ¶
func (e ErrContextExpired) Error() string
type ErrInternal ¶
type ErrInternal struct {
// contains filtered or unexported fields
}
func NewErrInternal ¶
func NewErrInternal(err error) ErrInternal
func (ErrInternal) Error ¶
func (e ErrInternal) Error() string
type ErrNotFound ¶
type ErrNotFound struct {
// contains filtered or unexported fields
}
func NewErrNotFound ¶
func NewErrNotFound(err error) ErrNotFound
func (ErrNotFound) Error ¶
func (e ErrNotFound) Error() string
type ErrUnprocessable ¶
type ErrUnprocessable struct {
// contains filtered or unexported fields
}
func NewErrUnprocessable ¶
func NewErrUnprocessable(err error) ErrUnprocessable
func (ErrUnprocessable) Error ¶
func (e ErrUnprocessable) Error() string
type NodeDescriptor ¶
type NodeDescriptor struct {
Classes []string `json:"classes"`
Status Status `json:"status"`
Error string `json:"error"`
PreCompressionSizeBytes int64 `json:"preCompressionSizeBytes"` // Size of this node's backup in bytes before compression
}
NodeDescriptor contains data related to one participant in DBRO
type RestoreMeta ¶
type ShardDescriptor ¶
type ShardDescriptor struct {
Name string `json:"name"`
Node string `json:"node"`
Files []string `json:"files,omitempty"`
DocIDCounterPath string `json:"docIdCounterPath,omitempty"`
DocIDCounter []byte `json:"docIdCounter,omitempty"`
PropLengthTrackerPath string `json:"propLengthTrackerPath,omitempty"`
PropLengthTracker []byte `json:"propLengthTracker,omitempty"`
ShardVersionPath string `json:"shardVersionPath,omitempty"`
Version []byte `json:"version,omitempty"`
Chunk int32 `json:"chunk"`
}
ShardDescriptor contains everything needed to completely restore a partition of a specific class
func (*ShardDescriptor) ClearTemporary ¶ added in v1.21.0
func (s *ShardDescriptor) ClearTemporary()
ClearTemporary clears fields that are no longer needed once compression is done. These fields are not required in versions > 1 because they are stored in the tarball.