snapshot

package
v0.60.0 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2022 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetAllTableNames

func GetAllTableNames(ctx context.Context, conn *pgxpool.Pool) ([]string, error)

func GetCurrentStateSnapshots

func GetCurrentStateSnapshots(dir string) (string, map[int64]CurrentState, error)

func GetFromHeight

func GetFromHeight(toHeight int64, snapshotInterval int64) int64

func GetHistoryMd5Hash

func GetHistoryMd5Hash(snapshot CreateSnapshotResult) (string, error)

func GetSnapshotMd5Hash

func GetSnapshotMd5Hash(currentStateSnapshotFile string, historySnapshotFile string) (string, error)

func InProgressFileName

func InProgressFileName(chainID string, height int64) string

Types

type BlockCommitHandler

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

func NewBlockCommitHandler

func NewBlockCommitHandler(
	log *logging.Logger,
	snapshotData func(ctx context.Context, chainID string, toHeight int64, fromHeight int64) error,
	getNetworkParameter func(ctx context.Context, key string) (entities.NetworkParameter, error),
	brokerConfig broker.Config,
) *BlockCommitHandler

func (*BlockCommitHandler) OnBlockCommitted

func (b *BlockCommitHandler) OnBlockCommitted(ctx context.Context, chainID string, blockHeight int64)

type Config

type Config struct {
	PanicOnSnapshotCreationError encoding.Bool `long:"panic-on-snapshot-creation-error" description:""`

	DatabaseSnapshotsCopyToPath   string `long:"database-snapshot-copy-to-path" description:"the snapshots copy to path relative to the database working directory"`
	DatabaseSnapshotsCopyFromPath string `long:"database-snapshot-copy-from-path" description:"the snapshots copy from path relative to the database working directory"`

	WaitForCreationLockTimeout encoding.Duration `` /* 140-byte string literal not displayed */
}

func NewDefaultConfig

func NewDefaultConfig() Config

NewDefaultConfig creates an instance of the package specific configuration, given a pointer to a logger instance to be used for logging within the package.

type Conn

type Conn interface {
	Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
	Query(ctx context.Context, sql string, args ...interface{}) (pgx.Rows, error)
	QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
}

type CreateSnapshotResult

type CreateSnapshotResult struct {
	CurrentStateSnapshot     CurrentState
	HistorySnapshot          History
	CurrentStateSnapshotPath string
	HistorySnapshotPath      string
	DatabaseVersion          int64
}

type CurrentState

type CurrentState struct {
	ChainID string
	Height  int64
}

func NewCurrentSnapshot

func NewCurrentSnapshot(chainID string, height int64) CurrentState

func (CurrentState) CompressedFileName

func (s CurrentState) CompressedFileName() string

func (CurrentState) GetCopySQL

func (s CurrentState) GetCopySQL(dbMetaData DatabaseMetadata, databaseSnapshotsPath string) []string

func (CurrentState) String

func (s CurrentState) String() string

func (CurrentState) UncompressedDataDir

func (s CurrentState) UncompressedDataDir() string

type DatabaseMetadata

type DatabaseMetadata struct {
	TableNameToMetaData map[string]TableMetadata
	DatabaseVersion     int64
}

func NewDatabaseMetaData

func NewDatabaseMetaData(ctx context.Context, connConfig sqlstore.ConnectionConfig) (DatabaseMetadata, error)

func (DatabaseMetadata) GetHistoryTableNames

func (d DatabaseMetadata) GetHistoryTableNames() []string

type History

type History struct {
	ChainID    string
	HeightFrom int64
	HeightTo   int64
}

func GetHistorySnapshots

func GetHistorySnapshots(snapshotsDir string) (string, []History, error)

func NewHistorySnapshot

func NewHistorySnapshot(chainID string, heightFrom int64, heightTo int64) History

func (History) CompressedFileName

func (h History) CompressedFileName() string

func (History) GetCopySQL

func (h History) GetCopySQL(dbMetaData DatabaseMetadata, databaseSnapshotsPath string) []string

func (History) String

func (h History) String() string

func (History) UncompressedDataDir

func (h History) UncompressedDataDir() string

type IndexInfo

type IndexInfo struct {
	Tablename string
	Indexname string
	Indexdef  string
}

type Service

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

func NewSnapshotService

func NewSnapshotService(log *logging.Logger, config Config, connConfig sqlstore.ConnectionConfig,
	snapshotsCopyToPath string,
) (*Service, error)

func (*Service) CreateSnapshot

func (b *Service) CreateSnapshot(ctx context.Context, chainID string, fromHeight int64, toHeight int64) (CreateSnapshotResult, error)

func (*Service) LoadAllSnapshotData

func (b *Service) LoadAllSnapshotData(ctx context.Context, currentStateSnapshot CurrentState,
	contiguousHistory []History, sourceDir string,
) (int64, error)

func (*Service) SnapshotData

func (b *Service) SnapshotData(ctx context.Context, chainID string, toHeight int64, fromHeight int64) error

type TableMetadata

type TableMetadata struct {
	Name       string
	SortOrder  string
	Hypertable bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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