Documentation
¶
Overview ¶
Package snapshotter provides the meta snapshot service.
Index ¶
Constants ¶
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 ¶ added in v0.12.0
type Client struct {
// contains filtered or unexported fields
}
Client provides an API for the snapshotter service.
func (*Client) MetastoreBackup ¶ added in v0.12.0
MetastoreBackup returns a snapshot of the meta store.
func (*Client) UpdateMeta ¶ added in v1.5.0
takes a request object, writes a Base64 encoding to the tcp connection, and then sends the request to the snapshotter service. returns a mapping of the uploaded metadata shardID's to actual shardID's on the destination system.
type Request ¶ added in v0.10.0
type Request struct {
Type RequestType
BackupDatabase string
RestoreDatabase string
BackupRetentionPolicy string
RestoreRetentionPolicy string
ShardID uint64
Since time.Time
ExportStart time.Time
ExportEnd time.Time
UploadSize int64
}
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 ¶ added in v0.10.0
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 // RequestSeriesFileBackup represents a request to back up the database series file. RequestSeriesFileBackup // RequestDatabaseInfo represents a request for database info. RequestDatabaseInfo // RequestRetentionPolicyInfo represents a request for retention policy info. RequestRetentionPolicyInfo // RequestShardExport represents a request to export Shard data. Similar to a backup, but shards // may be filtered based on the start/end times on each block. RequestShardExport // RequestMetaStoreUpdate represents a request to upload a metafile that will be used to do a live update // to the existing metastore. RequestMetaStoreUpdate // RequestShardUpdate will initiate the upload of a shard data tar file // and have the engine import the data. RequestShardUpdate )
type Response ¶ added in v0.10.0
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 interface {
BackupShard(id uint64, since time.Time, w io.Writer) error
ExportShard(id uint64, ExportStart time.Time, ExportEnd time.Time, w io.Writer) error
Shard(id uint64) *tsdb.Shard
ShardRelativePath(id uint64) (string, error)
SetShardEnabled(shardID uint64, enabled bool) error
RestoreShard(id uint64, r io.Reader) error
CreateShard(database, retentionPolicy string, shardID uint64, enabled bool) error
}
Listener net.Listener
Logger *zap.Logger
// contains filtered or unexported fields
}
Service manages the listener for the snapshot endpoint.
func (*Service) WithLogger ¶ added in v1.2.0
WithLogger sets the logger on the service.