Documentation ¶
Index ¶
- Constants
- func DefaultTransport() *http.Transport
- func Interactive(ctx context.Context) context.Context
- func StatusCodeOf(err error) int
- type BackoffConfig
- type Client
- func (c *Client) Decommission(ctx context.Context, host string) error
- func (c *Client) HostDatacenter(ctx context.Context, host string) (dc string, err error)
- func (c *Client) OperationMode(ctx context.Context, host string) (OperationalMode, error)
- func (c *Client) Status(ctx context.Context, host string) (NodeStatusInfoSlice, error)
- type CommandStatus
- type Config
- type NodeState
- type NodeStatus
- type NodeStatusInfo
- type NodeStatusInfoSlice
- type OperationalMode
- type ReplicationStrategy
- type Ring
- type ScyllaFeatures
- type TokenRange
- type Unit
Constants ¶
const ( LocalStrategy = "org.apache.cassandra.locator.LocalStrategy" SimpleStrategy = "org.apache.cassandra.locator.SimpleStrategy" NetworkTopologyStrategy = "org.apache.cassandra.locator.NetworkTopologyStrategy" )
Replication strategies
const (
Murmur3Partitioner = "org.apache.cassandra.dht.Murmur3Partitioner"
)
Partitioners
Variables ¶
This section is empty.
Functions ¶
func DefaultTransport ¶ added in v0.1.6
func Interactive ¶ added in v0.1.6
Interactive context means that it should be processed fast without too much useless waiting.
func StatusCodeOf ¶ added in v0.1.6
StatusCodeOf returns HTTP status code carried by the error or it's cause. If not status can be found it returns 0.
Types ¶
type BackoffConfig ¶ added in v0.1.6
type BackoffConfig struct { WaitMin time.Duration WaitMax time.Duration MaxRetries uint64 Multiplier float64 Jitter float64 }
BackoffConfig specifies request exponential backoff parameters.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) Decommission ¶ added in v0.1.6
func (*Client) HostDatacenter ¶
HostDatacenter looks up the datacenter that the given host belongs to.
func (*Client) OperationMode ¶ added in v0.1.6
type CommandStatus ¶
type CommandStatus string
CommandStatus specifies a result of a command
const ( CommandRunning CommandStatus = "RUNNING" CommandSuccessful CommandStatus = "SUCCESSFUL" CommandFailed CommandStatus = "FAILED" )
Command statuses
type Config ¶ added in v0.1.6
type Config struct { // Hosts specifies all the cluster hosts that for a pool of hosts for the // client. Hosts []string // Port specifies the default Scylla Manager agent port. Port string // Transport scheme HTTP or HTTPS. Scheme string // AuthToken specifies the authentication token. AuthToken string `yaml:"auth_token"` // Timeout specifies time to complete a single request to Scylla REST API // possibly including opening a TCP connection. Timeout time.Duration `yaml:"timeout"` // PoolDecayDuration specifies size of time window to measure average // request time in Epsilon-Greedy host pool. Backoff BackoffConfig // InteractiveBackoff specifies backoff for interactive requests i.e. // originating from API / sctool. InteractiveBackoff BackoffConfig // How many seconds to wait for the job to finish before returning // the info response. LongPollingSeconds int64 PoolDecayDuration time.Duration // Transport allows for setting a custom round tripper to send HTTP // requests over not standard connections i.e. over SSH tunnel. Transport http.RoundTripper }
Config specifies the Client configuration.
func DefaultConfig ¶ added in v0.1.6
func DefaultConfig() Config
DefaultConfig returns a Config initialized with default values.
type NodeState ¶
type NodeState string
NodeState represents nodetool State=Normal/Leaving/Joining/Moving
type NodeStatus ¶
type NodeStatus bool
NodeStatus represents nodetool Status=Up/Down.
const ( NodeStatusUp NodeStatus = true NodeStatusDown NodeStatus = false )
NodeStatus enumeration
func (NodeStatus) String ¶
func (s NodeStatus) String() string
type NodeStatusInfo ¶
type NodeStatusInfo struct { Datacenter string HostID string Addr string Status NodeStatus State NodeState }
NodeStatusInfo represents a nodetool status line.
func (NodeStatusInfo) IsUN ¶
func (s NodeStatusInfo) IsUN() bool
IsUN returns true if host is Up and NORMAL meaning it's a fully functional live node.
func (NodeStatusInfo) String ¶ added in v0.1.6
func (s NodeStatusInfo) String() string
type NodeStatusInfoSlice ¶
type NodeStatusInfoSlice []NodeStatusInfo
NodeStatusInfoSlice adds functionality to Status response.
func (NodeStatusInfoSlice) Datacenter ¶
func (s NodeStatusInfoSlice) Datacenter(dcs []string) NodeStatusInfoSlice
Datacenter resturns sub slice containing only nodes from given datacenters.
func (NodeStatusInfoSlice) DownHosts ¶
func (s NodeStatusInfoSlice) DownHosts() []string
DownHosts returns slice of address of nodes that are down.
func (NodeStatusInfoSlice) Hosts ¶
func (s NodeStatusInfoSlice) Hosts() []string
Hosts returns slice of address of all nodes.
func (NodeStatusInfoSlice) LiveHosts ¶
func (s NodeStatusInfoSlice) LiveHosts() []string
LiveHosts returns slice of address of nodes in UN state.
type OperationalMode ¶ added in v0.1.6
type OperationalMode string
const ( OperationalModeClient OperationalMode = "CLIENT" OperationalModeDecommissioned OperationalMode = "DECOMMISSIONED" OperationalModeJoining OperationalMode = "JOINING" OperationalModeLeaving OperationalMode = "LEAVING" OperationalModeNormal OperationalMode = "NORMAL" OperationalModeUnknown OperationalMode = "UNKNOWN" )
func (OperationalMode) IsDecommisioned ¶ added in v0.1.6
func (o OperationalMode) IsDecommisioned() bool
func (OperationalMode) String ¶ added in v0.1.6
func (o OperationalMode) String() string
type ReplicationStrategy ¶
type ReplicationStrategy string
ReplicationStrategy specifies type of a keyspace replication strategy.
type Ring ¶
type Ring struct { Tokens []TokenRange HostDC map[string]string Replication ReplicationStrategy }
Ring describes token ring of a keyspace.
func (Ring) Datacenters ¶
Datacenters returs a list of datacenters the keyspace is replicated in.
type ScyllaFeatures ¶
type ScyllaFeatures struct {
RowLevelRepair bool
}
ScyllaFeatures specifies features supported by the Scylla version.
type TokenRange ¶
TokenRange describes replicas of a token (range).