scyllaclient

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2020 License: Apache-2.0 Imports: 32 Imported by: 1

Documentation

Index

Constants

View Source
const (
	LocalStrategy           = "org.apache.cassandra.locator.LocalStrategy"
	SimpleStrategy          = "org.apache.cassandra.locator.SimpleStrategy"
	NetworkTopologyStrategy = "org.apache.cassandra.locator.NetworkTopologyStrategy"
)

Replication strategies

View Source
const (
	Murmur3Partitioner = "org.apache.cassandra.dht.Murmur3Partitioner"
)

Partitioners

Variables

This section is empty.

Functions

func DefaultTransport added in v0.1.6

func DefaultTransport() *http.Transport

func Interactive added in v0.1.6

func Interactive(ctx context.Context) context.Context

Interactive context means that it should be processed fast without too much useless waiting.

func StatusCodeOf added in v0.1.6

func StatusCodeOf(err error) int

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 NewClient added in v0.1.6

func NewClient(config Config, logger log.Logger) (*Client, error)

func (*Client) Decommission added in v0.1.6

func (c *Client) Decommission(ctx context.Context, host string) error

func (*Client) HostDatacenter

func (c *Client) HostDatacenter(ctx context.Context, host string) (dc string, err error)

HostDatacenter looks up the datacenter that the given host belongs to.

func (*Client) OperationMode added in v0.1.6

func (c *Client) OperationMode(ctx context.Context, host string) (OperationalMode, error)

func (*Client) Status

func (c *Client) Status(ctx context.Context, host string) (NodeStatusInfoSlice, error)

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.

func (Config) Validate added in v0.1.6

func (c Config) Validate() error

Validate checks if all the fields are properly set.

type NodeState

type NodeState string

NodeState represents nodetool State=Normal/Leaving/Joining/Moving

const (
	NodeStateNormal  NodeState = ""
	NodeStateLeaving NodeState = "LEAVING"
	NodeStateJoining NodeState = "JOINING"
	NodeStateMoving  NodeState = "MOVING"
)

NodeState enumeration

func (NodeState) String

func (s NodeState) String() string

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

func (r Ring) Datacenters() []string

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

type TokenRange struct {
	StartToken int64
	EndToken   int64
	Replicas   []string
}

TokenRange describes replicas of a token (range).

type Unit

type Unit struct {
	Keyspace string
	Tables   []string
}

Unit describes keyspace and some tables in that keyspace.

Jump to

Keyboard shortcuts

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