zktopo

package
v2.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2016 License: BSD-3-Clause Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// GlobalKeyspacesPath is the path used to store global
	// information in ZK. Exported for tests.
	GlobalKeyspacesPath = "/zk/global/vt/keyspaces"
)

Variables

View Source
var WatchSleepDuration = 30 * time.Second

WatchSleepDuration is how many seconds interval to poll for in case the directory that contains a file to watch doesn't exist, or a watch is broken. It is exported so individual test and main programs can change it.

Functions

func NewServer

func NewServer(zconn zk.Conn) topo.Impl

NewServer can be used to create a custom Server (for tests for instance) but it cannot change the globally registered one.

func TabletPathForAlias

func TabletPathForAlias(alias *topodatapb.TabletAlias) string

TabletPathForAlias converts a tablet alias to the zk path

Types

type Server

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

Server is the zookeeper topo.Server implementation.

func (*Server) Close

func (zkts *Server) Close()

Close is part of topo.Server interface.

func (*Server) CreateKeyspace

func (zkts *Server) CreateKeyspace(ctx context.Context, keyspace string, value *topodatapb.Keyspace) error

CreateKeyspace is part of the topo.Server interface

func (*Server) CreateShard

func (zkts *Server) CreateShard(ctx context.Context, keyspace, shard string, value *topodatapb.Shard) error

CreateShard is part of the topo.Server interface

func (*Server) CreateTablet

func (zkts *Server) CreateTablet(ctx context.Context, tablet *topodatapb.Tablet) error

CreateTablet is part of the topo.Server interface

func (*Server) DeleteKeyspace

func (zkts *Server) DeleteKeyspace(ctx context.Context, keyspace string) error

DeleteKeyspace is part of the topo.Server interface.

func (*Server) DeleteKeyspaceReplication

func (zkts *Server) DeleteKeyspaceReplication(ctx context.Context, cell, keyspace string) error

DeleteKeyspaceReplication is part of the topo.Server interface

func (*Server) DeleteKeyspaceShards

func (zkts *Server) DeleteKeyspaceShards(ctx context.Context, keyspace string) error

DeleteKeyspaceShards is part of the topo.Server interface

func (*Server) DeleteShard

func (zkts *Server) DeleteShard(ctx context.Context, keyspace, shard string) error

DeleteShard is part of the topo.Server interface

func (*Server) DeleteShardReplication

func (zkts *Server) DeleteShardReplication(ctx context.Context, cell, keyspace, shard string) error

DeleteShardReplication is part of the topo.Server interface

func (*Server) DeleteSrvKeyspace

func (zkts *Server) DeleteSrvKeyspace(ctx context.Context, cell, keyspace string) error

DeleteSrvKeyspace is part of the topo.Server interface

func (*Server) DeleteTablet

func (zkts *Server) DeleteTablet(ctx context.Context, alias *topodatapb.TabletAlias) error

DeleteTablet is part of the topo.Server interface

func (*Server) GetKeyspace

func (zkts *Server) GetKeyspace(ctx context.Context, keyspace string) (*topodatapb.Keyspace, int64, error)

GetKeyspace is part of the topo.Server interface

func (*Server) GetKeyspaces

func (zkts *Server) GetKeyspaces(ctx context.Context) ([]string, error)

GetKeyspaces is part of the topo.Server interface

func (*Server) GetKnownCells

func (zkts *Server) GetKnownCells(ctx context.Context) ([]string, error)

GetKnownCells is part of the topo.Server interface

func (*Server) GetShard

func (zkts *Server) GetShard(ctx context.Context, keyspace, shard string) (*topodatapb.Shard, int64, error)

GetShard is part of the topo.Server interface

func (*Server) GetShardNames

func (zkts *Server) GetShardNames(ctx context.Context, keyspace string) ([]string, error)

GetShardNames is part of the topo.Server interface

func (*Server) GetShardReplication

func (zkts *Server) GetShardReplication(ctx context.Context, cell, keyspace, shard string) (*topo.ShardReplicationInfo, error)

GetShardReplication is part of the topo.Server interface

func (*Server) GetSrvKeyspace

func (zkts *Server) GetSrvKeyspace(ctx context.Context, cell, keyspace string) (*topodatapb.SrvKeyspace, error)

GetSrvKeyspace is part of the topo.Server interface

func (*Server) GetSrvKeyspaceNames

func (zkts *Server) GetSrvKeyspaceNames(ctx context.Context, cell string) ([]string, error)

GetSrvKeyspaceNames is part of the topo.Server interface

func (*Server) GetSrvVSchema

func (zkts *Server) GetSrvVSchema(ctx context.Context, cell string) (*vschemapb.SrvVSchema, error)

GetSrvVSchema is part of the topo.Server interface

func (*Server) GetTablet

func (zkts *Server) GetTablet(ctx context.Context, alias *topodatapb.TabletAlias) (*topodatapb.Tablet, int64, error)

GetTablet is part of the topo.Server interface

func (*Server) GetTabletsByCell

func (zkts *Server) GetTabletsByCell(ctx context.Context, cell string) ([]*topodatapb.TabletAlias, error)

GetTabletsByCell is part of the topo.Server interface

func (*Server) GetVSchema

func (zkts *Server) GetVSchema(ctx context.Context, keyspace string) (*vschemapb.Keyspace, error)

GetVSchema fetches the JSON vschema from the topo.

func (*Server) GetZConn

func (zkts *Server) GetZConn() zk.Conn

GetZConn returns the zookeeper connection for this Server.

func (*Server) LockKeyspaceForAction

func (zkts *Server) LockKeyspaceForAction(ctx context.Context, keyspace, contents string) (string, error)

LockKeyspaceForAction is part of topo.Server interface

func (*Server) LockShardForAction

func (zkts *Server) LockShardForAction(ctx context.Context, keyspace, shard, contents string) (string, error)

LockShardForAction is part of topo.Server interface

func (*Server) PruneActionLogs

func (zkts *Server) PruneActionLogs(zkActionLogPath string, keepCount int) (prunedCount int, err error)

PruneActionLogs prunes old actionlog entries. Returns how many entries were purged (even if there was an error).

There is a chance some processes might still be waiting for action results, but it is very very small.

func (*Server) PurgeActions

func (zkts *Server) PurgeActions(zkActionPath string, canBePurged func(data string) bool) error

PurgeActions removes all queued actions, leaving the action node itself in place.

This inherently breaks the locking mechanism of the action queue, so this is a rare cleanup action, not a normal part of the flow.

This can be used for tablets, shards and keyspaces.

func (*Server) SaveVSchema

func (zkts *Server) SaveVSchema(ctx context.Context, keyspace string, vschema *vschemapb.Keyspace) error

SaveVSchema saves the vschema into the topo.

func (*Server) UnlockKeyspaceForAction

func (zkts *Server) UnlockKeyspaceForAction(ctx context.Context, keyspace, lockPath, results string) error

UnlockKeyspaceForAction is part of topo.Server interface

func (*Server) UnlockShardForAction

func (zkts *Server) UnlockShardForAction(ctx context.Context, keyspace, shard, lockPath, results string) error

UnlockShardForAction is part of topo.Server interface

func (*Server) UpdateKeyspace

func (zkts *Server) UpdateKeyspace(ctx context.Context, keyspace string, value *topodatapb.Keyspace, existingVersion int64) (int64, error)

UpdateKeyspace is part of the topo.Server interface

func (*Server) UpdateShard

func (zkts *Server) UpdateShard(ctx context.Context, keyspace, shard string, value *topodatapb.Shard, existingVersion int64) (int64, error)

UpdateShard is part of the topo.Server interface

func (*Server) UpdateShardReplicationFields

func (zkts *Server) UpdateShardReplicationFields(ctx context.Context, cell, keyspace, shard string, update func(*topodatapb.ShardReplication) error) error

UpdateShardReplicationFields is part of the topo.Server interface

func (*Server) UpdateSrvKeyspace

func (zkts *Server) UpdateSrvKeyspace(ctx context.Context, cell, keyspace string, srvKeyspace *topodatapb.SrvKeyspace) error

UpdateSrvKeyspace is part of the topo.Server interface

func (*Server) UpdateSrvVSchema

func (zkts *Server) UpdateSrvVSchema(ctx context.Context, cell string, srvVSchema *vschemapb.SrvVSchema) error

UpdateSrvVSchema is part of the topo.Server interface

func (*Server) UpdateTablet

func (zkts *Server) UpdateTablet(ctx context.Context, tablet *topodatapb.Tablet, existingVersion int64) (int64, error)

UpdateTablet is part of the topo.Server interface

func (*Server) ValidateShard

func (zkts *Server) ValidateShard(ctx context.Context, keyspace, shard string) error

ValidateShard is part of the topo.Server interface

func (*Server) WatchSrvKeyspace

func (zkts *Server) WatchSrvKeyspace(ctx context.Context, cell, keyspace string) (<-chan *topodatapb.SrvKeyspace, error)

WatchSrvKeyspace is part of the topo.Server interface

func (*Server) WatchSrvVSchema

func (zkts *Server) WatchSrvVSchema(ctx context.Context, cell string) (<-chan *vschemapb.SrvVSchema, error)

WatchSrvVSchema is part of the topo.Server interface

type ZkExplorer

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

ZkExplorer implements explorer.Explorer

func NewZkExplorer

func NewZkExplorer(zconn zk.Conn) *ZkExplorer

NewZkExplorer returns an Explorer implementation for Zookeeper

func (ZkExplorer) HandlePath

func (ex ZkExplorer) HandlePath(zkPath string, r *http.Request) *explorer.Result

HandlePath is part of the Explorer interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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