Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateMigrationVersion ¶
func ValidateMigrationVersion(m MigrationVersion) error
ValidateMigrationVersion validates a stored metrics type.
Types ¶
type MigrationVersion ¶
type MigrationVersion uint
MigrationVersion is an enum that corresponds to the major and minor version number to migrate data files to.
const ( // MigrationVersionNone indicates node should not attempt to perform any migrations. MigrationVersionNone MigrationVersion = iota // MigrationVersion_1_1 indicates node should attempt to migrate data files up to version 1.1. MigrationVersion_1_1 )
func ParseMigrationVersion ¶
func ParseMigrationVersion(str string) (MigrationVersion, error)
ParseMigrationVersion parses a string for a MigrationVersion.
func (*MigrationVersion) String ¶
func (m *MigrationVersion) String() string
func (*MigrationVersion) UnmarshalYAML ¶
func (m *MigrationVersion) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals a migrate version.
type NewTaskFn ¶ added in v0.15.10
type NewTaskFn func(opts TaskOptions) (Task, error)
NewTaskFn is a function that can create a new migration task.
func MigrationTask ¶ added in v0.15.10
func MigrationTask(info fs.ReadInfoFileResult) (NewTaskFn, bool)
MigrationTask returns true or false if a fileset should be migrated. If true, also returns a function that can be used to create a new migration task.
type Options ¶
type Options interface { // Validate validates migration options. Validate() error // SetTargetMigrationVersion sets the target version for a migration SetTargetMigrationVersion(value MigrationVersion) Options // TargetMigrationVersion is the target version for a migration. TargetMigrationVersion() MigrationVersion // SetConcurrency sets the number of concurrent workers performing migrations. SetConcurrency(value int) Options // Concurrency gets the number of concurrent workers performing migrations. Concurrency() int }
Options represents the options for migrations.
type Task ¶ added in v0.15.10
type Task interface { // Run is the set of steps to successfully complete a migration. Returns the potentially // updated ReadInfoFileResult or an error. Run() (fs.ReadInfoFileResult, error) }
Task interface is implemented by tasks that wish to perform a data migration on a fileset. This typically involves updating files in a fileset that were created by a previous version of the database client.
func NewToVersion1_1Task ¶ added in v0.15.10
func NewToVersion1_1Task(opts TaskOptions) (Task, error)
NewToVersion1_1Task creates a task for migrating a fileset to version 1.1.
type TaskOptions ¶ added in v0.15.10
type TaskOptions interface { // Validate validates the options. Validate() error // SetNewMergerFn sets the function to create a new Merger. SetNewMergerFn(value fs.NewMergerFn) TaskOptions // NewMergerFn returns the function to create a new Merger. NewMergerFn() fs.NewMergerFn // SetInfoFileResult sets the info file resulted associated with this task. SetInfoFileResult(value fs.ReadInfoFileResult) TaskOptions // InfoFileResult gets the info file resulted associated with this task. InfoFileResult() fs.ReadInfoFileResult // SetShard sets the shard associated with this task. SetShard(value uint32) TaskOptions // Shard gets the shard associated with this task. Shard() uint32 // SetNamespaceMetadata sets the namespace metadata associated with this task. SetNamespaceMetadata(value namespace.Metadata) TaskOptions // NamespaceMetadata gets the namespace metadata associated with this task. NamespaceMetadata() namespace.Metadata // SetPersistManager sets the persist manager used for this task. SetPersistManager(value persist.Manager) TaskOptions // PersistManager gets the persist manager use for this task. PersistManager() persist.Manager // SetStorageOptions sets the storage options associated with this task. SetStorageOptions(value storage.Options) TaskOptions // StorageOptions gets the storage options associated with this task. StorageOptions() storage.Options // SetFilesystemOptions sets the filesystem options. SetFilesystemOptions(value fs.Options) TaskOptions // FilesystemOptions returns the filesystem options. FilesystemOptions() fs.Options }
TaskOptions represents options for individual migration tasks.
func NewTaskOptions ¶ added in v0.15.10
func NewTaskOptions() TaskOptions
NewTaskOptions creates new taskOptions.