snapshotter

package
v0.0.0-...-b4b1223 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2019 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

Package snapshotter provides the meta snapshot service.

Index

Constants

View Source
const (
	// MuxHeader is the header byte used for the TCP muxer.
	MuxHeader = 3

	// BackupMagicHeader is the first 8 bytes used to identify and validate
	// a metastore backup file
	BackupMagicHeader = 0x59590101
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

Client provides an API for the snapshotter service.

func NewClient

func NewClient(host string) *Client

NewClient returns a new *Client.

func (*Client) MetastoreBackup

func (c *Client) MetastoreBackup() (*meta.Data, error)

MetastoreBackup returns a snapshot of the meta store.

type Request

type Request struct {
	Type            RequestType
	Database        string
	RetentionPolicy string
	ShardID         uint64
	Since           time.Time
}

Request represents a request for a specific backup or for information about the shards on this server for a database or retention policy.

type RequestType

type RequestType uint8

RequestType indicates the typeof snapshot request.

const (
	// RequestShardBackup represents a request for a shard backup.
	RequestShardBackup RequestType = iota

	// RequestMetastoreBackup represents a request to back up the metastore.
	RequestMetastoreBackup

	// RequestDatabaseInfo represents a request for database info.
	RequestDatabaseInfo

	// RequestRetentionPolicyInfo represents a request for retention policy info.
	RequestRetentionPolicyInfo
)

type Response

type Response struct {
	Paths []string
}

Response contains the relative paths for all the shards on this server that are in the requested database or retention policy.

type Service

type Service struct {
	Node *influxdb.Node

	MetaClient interface {
		encoding.BinaryMarshaler
		Database(name string) *meta.DatabaseInfo
	}

	TSDBStore *tsdb.Store

	Listener net.Listener
	Logger   zap.Logger
	// contains filtered or unexported fields
}

Service manages the listener for the snapshot endpoint.

func NewService

func NewService() *Service

NewService returns a new instance of Service.

func (*Service) Close

func (s *Service) Close() error

Close implements the Service interface.

func (*Service) Err

func (s *Service) Err() <-chan error

Err returns a channel for fatal out-of-band errors.

func (*Service) Open

func (s *Service) Open() error

Open starts the service.

func (*Service) WithLogger

func (s *Service) WithLogger(log zap.Logger)

WithLogger sets the logger on the service.

Jump to

Keyboard shortcuts

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