restorer

package
v1.23.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package restorer manages the WAL restore process

Index

Constants

This section is empty.

Variables

View Source
var ErrWALNotFound = errors.New("WAL not found")

ErrWALNotFound is returned when the WAL is not found in the cloud archive

Functions

This section is empty.

Types

type Result

type Result struct {
	// The name of the WAL file to restore
	WalName string

	// Where to store the restored WAL file
	DestinationPath string

	// If not nil, this is the error that has been detected
	Err error

	// The time when we started barman-cloud-wal-archive
	StartTime time.Time

	// The time when end barman-cloud-wal-archive ended
	EndTime time.Time
}

Result is the structure filled by the restore process on completion

type WALRestorer

type WALRestorer struct {
	// contains filtered or unexported fields
}

WALRestorer is a structure containing every info needed to restore some WALs from the object storage

func New

func New(ctx context.Context, cluster *apiv1.Cluster, env []string, spoolDirectory string) (
	restorer *WALRestorer,
	err error,
)

New creates a new WAL restorer

func (*WALRestorer) IsEndOfWALStream

func (restorer *WALRestorer) IsEndOfWALStream() (bool, error)

IsEndOfWALStream check whether end-of-wal-stream flag is presents in the spool directory

func (*WALRestorer) ResetEndOfWalStream

func (restorer *WALRestorer) ResetEndOfWalStream() error

ResetEndOfWalStream remove end-of-wal-stream flag from the spool directory

func (*WALRestorer) Restore

func (restorer *WALRestorer) Restore(walName, destinationPath string, baseOptions []string) error

Restore restores a WAL file from the object store

func (*WALRestorer) RestoreFromSpool

func (restorer *WALRestorer) RestoreFromSpool(walName, destinationPath string) (wasInSpool bool, err error)

RestoreFromSpool restores a certain file from the spool, returning a boolean flag indicating is the file was in the spool or not. If the file was in the spool, it will be moved into the specified destination path

func (*WALRestorer) RestoreList

func (restorer *WALRestorer) RestoreList(
	ctx context.Context,
	fetchList []string,
	destinationPath string,
	options []string,
) (resultList []Result)

RestoreList restores a list of WALs. The first WAL of the list will go directly into the destination path, the others will be adopted by the spool

func (*WALRestorer) SetEndOfWALStream

func (restorer *WALRestorer) SetEndOfWALStream() error

SetEndOfWALStream add end-of-wal-stream in the spool directory

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL