helpers

package
v0.0.0-...-bc668d9 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2015 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Overview

Package helpers contains a few utility classes to handle topo.Server objects, and transitions from one topo implementation to another.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyKeyspaces

func CopyKeyspaces(fromTS, toTS topo.Server)

CopyKeyspaces will create the keyspaces in the destination topo

func CopyShardReplications

func CopyShardReplications(fromTS, toTS topo.Server)

CopyShardReplications will create the ShardReplication objects in the destination topo

func CopyShards

func CopyShards(fromTS, toTS topo.Server, deleteKeyspaceShards bool)

CopyShards will create the shards in the destination topo

func CopyTablets

func CopyTablets(fromTS, toTS topo.Server)

CopyTablets will create the tablets in the destination topo

Types

type Tee

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

Tee is an implementation of topo.Server that uses a primary underlying topo.Server for all changes, but also duplicates the changes to a secondary topo.Server. It also locks both topo servers when needed. It is meant to be used during transitions from one topo.Server to another.

- primary: we read everything from it, and write to it - secondary: we write to it as well, but we usually don't fail. - we lock primary/secondary if reverseLockOrder is False, or secondary/primary if reverseLockOrder is True.

func NewTee

func NewTee(primary, secondary topo.Server, reverseLockOrder bool) *Tee

NewTee returns a new topo.Server object

func (*Tee) Close

func (tee *Tee) Close()

Close is part of the topo.Server interface

func (*Tee) CreateKeyspace

func (tee *Tee) CreateKeyspace(keyspace string, value *topo.Keyspace) error

CreateKeyspace is part of the topo.Server interface

func (*Tee) CreateShard

func (tee *Tee) CreateShard(keyspace, shard string, value *topo.Shard) error

CreateShard is part of the topo.Server interface

func (*Tee) CreateTablet

func (tee *Tee) CreateTablet(tablet *topo.Tablet) error

CreateTablet is part of the topo.Server interface

func (*Tee) DeleteEndPoints

func (tee *Tee) DeleteEndPoints(cell, keyspace, shard string, tabletType topo.TabletType) error

DeleteEndPoints is part of the topo.Server interface

func (*Tee) DeleteKeyspaceShards

func (tee *Tee) DeleteKeyspaceShards(keyspace string) error

DeleteKeyspaceShards is part of the topo.Server interface

func (*Tee) DeleteShard

func (tee *Tee) DeleteShard(keyspace, shard string) error

DeleteShard is part of the topo.Server interface

func (*Tee) DeleteShardReplication

func (tee *Tee) DeleteShardReplication(cell, keyspace, shard string) error

DeleteShardReplication is part of the topo.Server interface

func (*Tee) DeleteSrvShard

func (tee *Tee) DeleteSrvShard(cell, keyspace, shard string) error

DeleteSrvShard is part of the topo.Server interface

func (*Tee) DeleteTablet

func (tee *Tee) DeleteTablet(alias topo.TabletAlias) error

DeleteTablet is part of the topo.Server interface

func (*Tee) GetEndPoints

func (tee *Tee) GetEndPoints(cell, keyspace, shard string, tabletType topo.TabletType) (*topo.EndPoints, error)

GetEndPoints is part of the topo.Server interface

func (*Tee) GetKeyspace

func (tee *Tee) GetKeyspace(keyspace string) (*topo.KeyspaceInfo, error)

GetKeyspace is part of the topo.Server interface

func (*Tee) GetKeyspaces

func (tee *Tee) GetKeyspaces() ([]string, error)

GetKeyspaces is part of the topo.Server interface

func (*Tee) GetKnownCells

func (tee *Tee) GetKnownCells() ([]string, error)

GetKnownCells is part of the topo.Server interface

func (*Tee) GetShard

func (tee *Tee) GetShard(keyspace, shard string) (*topo.ShardInfo, error)

GetShard is part of the topo.Server interface

func (*Tee) GetShardNames

func (tee *Tee) GetShardNames(keyspace string) ([]string, error)

GetShardNames is part of the topo.Server interface

func (*Tee) GetShardReplication

func (tee *Tee) GetShardReplication(cell, keyspace, shard string) (*topo.ShardReplicationInfo, error)

GetShardReplication is part of the topo.Server interface

func (*Tee) GetSrvKeyspace

func (tee *Tee) GetSrvKeyspace(cell, keyspace string) (*topo.SrvKeyspace, error)

GetSrvKeyspace is part of the topo.Server interface

func (*Tee) GetSrvKeyspaceNames

func (tee *Tee) GetSrvKeyspaceNames(cell string) ([]string, error)

GetSrvKeyspaceNames is part of the topo.Server interface

func (*Tee) GetSrvShard

func (tee *Tee) GetSrvShard(cell, keyspace, shard string) (*topo.SrvShard, error)

GetSrvShard is part of the topo.Server interface

func (*Tee) GetSrvTabletTypesPerShard

func (tee *Tee) GetSrvTabletTypesPerShard(cell, keyspace, shard string) ([]topo.TabletType, error)

GetSrvTabletTypesPerShard is part of the topo.Server interface

func (*Tee) GetTablet

func (tee *Tee) GetTablet(alias topo.TabletAlias) (*topo.TabletInfo, error)

GetTablet is part of the topo.Server interface

func (*Tee) GetTabletsByCell

func (tee *Tee) GetTabletsByCell(cell string) ([]topo.TabletAlias, error)

GetTabletsByCell is part of the topo.Server interface

func (*Tee) LockKeyspaceForAction

func (tee *Tee) LockKeyspaceForAction(ctx context.Context, keyspace, contents string) (string, error)

LockKeyspaceForAction is part of the topo.Server interface

func (*Tee) LockShardForAction

func (tee *Tee) LockShardForAction(ctx context.Context, keyspace, shard, contents string) (string, error)

LockShardForAction is part of the topo.Server interface

func (*Tee) LockSrvShardForAction

func (tee *Tee) LockSrvShardForAction(ctx context.Context, cell, keyspace, shard, contents string) (string, error)

LockSrvShardForAction is part of the topo.Server interface

func (*Tee) UnlockKeyspaceForAction

func (tee *Tee) UnlockKeyspaceForAction(keyspace, lockPath, results string) error

UnlockKeyspaceForAction is part of the topo.Server interface

func (*Tee) UnlockShardForAction

func (tee *Tee) UnlockShardForAction(keyspace, shard, lockPath, results string) error

UnlockShardForAction is part of the topo.Server interface

func (*Tee) UnlockSrvShardForAction

func (tee *Tee) UnlockSrvShardForAction(cell, keyspace, shard, lockPath, results string) error

UnlockSrvShardForAction is part of the topo.Server interface

func (*Tee) UpdateEndPoints

func (tee *Tee) UpdateEndPoints(cell, keyspace, shard string, tabletType topo.TabletType, addrs *topo.EndPoints) error

UpdateEndPoints is part of the topo.Server interface

func (*Tee) UpdateKeyspace

func (tee *Tee) UpdateKeyspace(ki *topo.KeyspaceInfo, existingVersion int64) (newVersion int64, err error)

UpdateKeyspace is part of the topo.Server interface

func (*Tee) UpdateShard

func (tee *Tee) UpdateShard(si *topo.ShardInfo, existingVersion int64) (newVersion int64, err error)

UpdateShard is part of the topo.Server interface

func (*Tee) UpdateShardReplicationFields

func (tee *Tee) UpdateShardReplicationFields(cell, keyspace, shard string, update func(*topo.ShardReplication) error) error

UpdateShardReplicationFields is part of the topo.Server interface

func (*Tee) UpdateSrvKeyspace

func (tee *Tee) UpdateSrvKeyspace(cell, keyspace string, srvKeyspace *topo.SrvKeyspace) error

UpdateSrvKeyspace is part of the topo.Server interface

func (*Tee) UpdateSrvShard

func (tee *Tee) UpdateSrvShard(cell, keyspace, shard string, srvShard *topo.SrvShard) error

UpdateSrvShard is part of the topo.Server interface

func (*Tee) UpdateTablet

func (tee *Tee) UpdateTablet(tablet *topo.TabletInfo, existingVersion int64) (newVersion int64, err error)

UpdateTablet is part of the topo.Server interface

func (*Tee) UpdateTabletEndpoint

func (tee *Tee) UpdateTabletEndpoint(cell, keyspace, shard string, tabletType topo.TabletType, addr *topo.EndPoint) error

UpdateTabletEndpoint is part of the topo.Server interface

func (*Tee) UpdateTabletFields

func (tee *Tee) UpdateTabletFields(tabletAlias topo.TabletAlias, update func(*topo.Tablet) error) error

UpdateTabletFields is part of the topo.Server interface

func (*Tee) ValidateShard

func (tee *Tee) ValidateShard(keyspace, shard string) error

ValidateShard is part of the topo.Server interface

func (*Tee) WatchEndPoints

func (tee *Tee) WatchEndPoints(cell, keyspace, shard string, tabletType topo.TabletType) (<-chan *topo.EndPoints, chan<- struct{}, error)

WatchEndPoints is part of the topo.Server interface. We only watch for changes on the primary.

Jump to

Keyboard shortcuts

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