cbfsconfig

package
v0.0.0-...-f13267c Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2017 License: Apache-2.0 Imports: 7 Imported by: 12

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CBFSConfig

type CBFSConfig struct {
	// Frequency of Object GC Process
	GCFreq time.Duration `json:"gcfreq"`
	// Is garbage collection enabled?
	GCEnabled bool `json:"gcEnabled"`
	// Maximum number of items to look for in a GC pass.
	GCLimit int `json:"gclimit"`
	// Hash algorithm to use
	Hash string `json:"hash"`
	// Expected heartbeat frequency
	HeartbeatFreq time.Duration `json:"hbfreq"`
	// Minimum number of replicas to try to keep
	MinReplicas int `json:"minrepl"`
	// Maximum number of replicas to try to keep
	MaxReplicas int `json:"maxrepl"`
	// Number of blobs to remove from a stale node per period
	NodeCleanCount int `json:"cleanCount"`
	// Reconciliation frequency
	ReconcileFreq time.Duration `json:"reconcileFreq"`
	// Reconciliation object age
	ReconcileAge time.Duration `json:"reconcileAge"`
	// Quick reconciliation frequency
	QuickReconcileFreq time.Duration `json:"quickReconcileFreq"`
	// How often to verify we have all the blobs for which we're registered
	LocalValidationFreq time.Duration `json:"localValidationFreq"`
	// How often to check for stale nodes
	StaleNodeCheckFreq time.Duration `json:"nodeCheckFreq"`
	// Time since the last heartbeat at which we consider a node stale
	StaleNodeLimit time.Duration `json:"staleLimit"`
	// How often to check for underreplication
	UnderReplicaCheckFreq time.Duration `json:"underReplicaCheckFreq"`
	// How long to check for overreplication
	OverReplicaCheckFreq time.Duration `json:"overReplicaCheckFreq"`
	// How many objects to move when doing a replication check
	ReplicationCheckLimit int `json:"replicaCheckLimit"`
	// Default number of versions of a file to keep.
	DefaultVersionCount int `json:"defaultVersionCount"`
	// How often to update the node sizes
	UpdateNodeSizesFreq time.Duration `json:"updateSizesFreq"`
	// How frequently to free space from full nodes
	TrimFullNodesFreq time.Duration `json:"trimFullFreq"`
	// How many items to move from full nodes.
	TrimFullNodesCount int `json:"trimFullCount"`
	// How much space to keep free on nodes.
	TrimFullNodesSpace int64 `json:"trimFullSize"`
	// How far time can drift from DB before warning
	DriftWarnThresh time.Duration `json:"driftWarnThresh"`
}

Cluster-wide configuration

func DefaultConfig

func DefaultConfig() CBFSConfig

Get the default configuration

func (CBFSConfig) Dump

func (conf CBFSConfig) Dump(w io.Writer)

Dump a text representation of this config to the given writer.

func (CBFSConfig) MarshalJSON

func (conf CBFSConfig) MarshalJSON() ([]byte, error)

Basically, vanilla marshaling, but return the durations in their string forms.

func (*CBFSConfig) SetParameter

func (conf *CBFSConfig) SetParameter(name string, inval interface{}) error

Set a parameter by name.

func (CBFSConfig) ToMap

func (conf CBFSConfig) ToMap() map[string]interface{}

func (*CBFSConfig) UnmarshalJSON

func (conf *CBFSConfig) UnmarshalJSON(data []byte) error

And here's how you undo the above.

Jump to

Keyboard shortcuts

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