Class/Object

com.twitter.finagle.memcached.migration

MigrationClient

Related Docs: object MigrationClient | package migration

Permalink

class MigrationClient extends ProxyClient with ZookeeperStateMonitor

Migration client. This client manages a two cache clients representing source and destination cache pool. Depending on the migration state, this client may send dark traffic to destination pool to warm up the cache, or send light traffic to destination pool and fall back to original pool for cache misses. The state transitioning is controlled by operator by setting corresponding metadata in zookeeper.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MigrationClient
  2. ZookeeperStateMonitor
  3. ProxyClient
  4. Client
  5. BaseClient
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MigrationClient(oldClient: Client, newClient: Client, zkPath: String, zkClient: ZooKeeperClient, statsReceiver: StatsReceiver = NullStatsReceiver)

    Permalink

Type Members

  1. class FrontendClient extends ProxyClient

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def adapt[T](bijection: Bijection[Buf, T]): BaseClient[T]

    Permalink
    Definition Classes
    Client
  5. def add(key: String, flags: Int, expiry: Time, value: Buf): Future[Boolean]

    Permalink

    Store a key but only if it doesn't already exist on the server.

    Store a key but only if it doesn't already exist on the server.

    returns

    true if stored, false if not stored

    Definition Classes
    ProxyClientBaseClient
  6. def add(key: String, value: Buf): Future[Boolean]

    Permalink

    Store a key but only if it doesn't already exist on the server.

    Store a key but only if it doesn't already exist on the server.

    returns

    true if stored, false if not stored

    Definition Classes
    BaseClient
  7. def append(key: String, flags: Int, expiry: Time, value: Buf): Future[Boolean]

    Permalink

    Append bytes to the end of an existing key.

    Append bytes to the end of an existing key. If the key doesn't exist, the operation has no effect.

    returns

    true if stored, false if not stored

    Definition Classes
    ProxyClientBaseClient
  8. def append(key: String, value: Buf): Future[Boolean]

    Permalink

    Append a set of bytes to the end of an existing key.

    Append a set of bytes to the end of an existing key. If the key doesn't exist, the operation has no effect.

    returns

    true if stored, false if not stored

    Definition Classes
    BaseClient
  9. def applyZKChildren(children: List[String]): Unit

    Permalink

    Load the zookeeper node children as well as leaving a children watch, then invoke the applyZKChildren implementation to process the children list.

    Load the zookeeper node children as well as leaving a children watch, then invoke the applyZKChildren implementation to process the children list.

    Definition Classes
    ZookeeperStateMonitor
  10. def applyZKData(data: Array[Byte]): Unit

    Permalink

    Load the zookeeper node data as well as leaving a data watch, then invoke the applyZKData implementation to process the data string.

    Load the zookeeper node data as well as leaving a data watch, then invoke the applyZKData implementation to process the data string.

    Definition Classes
    MigrationClientZookeeperStateMonitor
  11. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  12. def bufferToType(v: Buf): Buf

    Permalink
    Definition Classes
    ClientBaseClient
  13. def checkAndSet(key: String, flags: Int, expiry: Time, value: Buf, casUnique: Buf): Future[CasResult]

    Permalink

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command.

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command. We treat the "cas unique" token opaquely, but in reality it is a string-encoded u64.

    returns

    Stored if the operation was successful, Exists if the operation failed because someone else had changed the value, or NotFound if the key was not found in the cache.

    Definition Classes
    ProxyClientBaseClient
  14. def checkAndSet(key: String, value: Buf, casUnique: Buf): Future[CasResult]

    Permalink

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved.

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved. This is enforced by passing a casUnique token extracted from a gets command. If the casUnique token matches the one on the server, the value is replaced. We treat the "cas unique" token opaquely, but in reality it is a string-encoded u64.

    returns

    Stored if the operation was successful, Exists if the operation failed because someone else had changed the value, or NotFound if the key was not found in the cache.

    Definition Classes
    BaseClient
  15. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. def decr(key: String, delta: Long): Future[Option[Long]]

    Permalink

    Decrement a key.

    Decrement a key. Interpret the value as an JLong if it is parseable. This operation has no effect if there is no value there already.

    Definition Classes
    ProxyClientBaseClient
  17. def decr(key: String): Future[Option[Long]]

    Permalink
    Definition Classes
    BaseClient
  18. def delete(key: String): Future[Boolean]

    Permalink

    Remove a key.

    Remove a key.

    returns

    true if deleted, false if not found

    Definition Classes
    ProxyClientBaseClient
  19. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  21. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. def get(keys: Iterable[String]): Future[Map[String, Buf]]

    Permalink

    Get a set of keys from the server.

    Get a set of keys from the server.

    returns

    a Map[String, T] of all of the keys that the server had.

    Definition Classes
    BaseClient
  23. def get(key: String): Future[Option[Buf]]

    Permalink

    Get a key from the server.

    Get a key from the server.

    Definition Classes
    BaseClient
  24. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  25. def getResult(keys: Iterable[String]): Future[GetResult]

    Permalink

    Get a set of keys from the server.

    Get a set of keys from the server. Returns a Future[GetResult] that encapsulates hits, misses and failures.

    Definition Classes
    ProxyClientBaseClient
  26. def gets(keys: Iterable[String]): Future[Map[String, (Buf, Buf)]]

    Permalink

    Get a set of keys from the server, together with a "cas unique" token.

    Get a set of keys from the server, together with a "cas unique" token. The token is treated opaquely by the memcache client but is in reality a string-encoded u64.

    returns

    a Map[String, (T, Buf)] of all the keys the server had, together with their "cas unique" token

    Definition Classes
    BaseClient
  27. def gets(key: String): Future[Option[(Buf, Buf)]]

    Permalink

    Get a key from the server, with a "cas unique" token.

    Get a key from the server, with a "cas unique" token. The token is treated opaquely by the memcache client but is in reality a string-encoded u64.

    Definition Classes
    BaseClient
  28. def getsResult(keys: Iterable[String]): Future[GetsResult]

    Permalink

    Get a set of keys from the server.

    Get a set of keys from the server. Returns a Future[GetsResult] that encapsulates hits, misses and failures. This variant includes the casToken from memcached.

    Definition Classes
    ProxyClientBaseClient
  29. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  30. def incr(key: String, delta: Long): Future[Option[Long]]

    Permalink

    Increment a key.

    Increment a key. Interpret the value as an Long if it is parseable. This operation has no effect if there is no value there already.

    Definition Classes
    ProxyClientBaseClient
  31. def incr(key: String): Future[Option[Long]]

    Permalink
    Definition Classes
    BaseClient
  32. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  33. def loadZKChildren: () ⇒ Unit

    Permalink
    Definition Classes
    ZookeeperStateMonitor
  34. def loadZKData: () ⇒ Unit

    Permalink
    Definition Classes
    ZookeeperStateMonitor
  35. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  36. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  37. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  38. def prepend(key: String, flags: Int, expiry: Time, value: Buf): Future[Boolean]

    Permalink

    Prepend bytes to the beginning of an existing key.

    Prepend bytes to the beginning of an existing key. If the key doesn't exist, the operation has no effect.

    returns

    true if stored, false if not stored

    Definition Classes
    ProxyClientBaseClient
  39. def prepend(key: String, value: Buf): Future[Boolean]

    Permalink

    Prepend a set of bytes to the beginning of an existing key.

    Prepend a set of bytes to the beginning of an existing key. If the key doesn't exist, the operation has no effect.

    returns

    true if stored, false if not stored

    Definition Classes
    BaseClient
  40. var proxyClient: FrontendClient

    Permalink
    Definition Classes
    MigrationClientProxyClient
  41. def quit(): Future[Unit]

    Permalink

    Send a quit command to the server.

    Send a quit command to the server. Alternative to release, for protocol compatability.

    returns

    none

    Definition Classes
    BaseClient
  42. def reconnectZK: () ⇒ Unit

    Permalink

    Reconnect to the zookeeper, this maybe invoked when zookeeper connection expired and the node data watcher previously registered got dropped, hence re-attache the data wather here.

    Reconnect to the zookeeper, this maybe invoked when zookeeper connection expired and the node data watcher previously registered got dropped, hence re-attache the data wather here.

    Definition Classes
    ZookeeperStateMonitor
  43. def release(): Unit

    Permalink

    release the underlying service(s)

    release the underlying service(s)

    Definition Classes
    ProxyClientBaseClient
  44. def replace(key: String, flags: Int, expiry: Time, value: Buf): Future[Boolean]

    Permalink

    Replace bytes on an existing key.

    Replace bytes on an existing key. If the key doesn't exist, the operation has no effect.

    returns

    true if stored, false if not stored

    Definition Classes
    ProxyClientBaseClient
  45. def replace(key: String, value: Buf): Future[Boolean]

    Permalink

    Replace an item if it exists.

    Replace an item if it exists. If it doesn't exist, the operation has no effect.

    returns

    true if stored, false if not stored

    Definition Classes
    BaseClient
  46. def set(key: String, flags: Int, expiry: Time, value: Buf): Future[Unit]

    Permalink

    Store a key.

    Store a key. Override an existing value.

    returns

    true

    Definition Classes
    ProxyClientBaseClient
  47. def set(key: String, value: Buf): Future[Unit]

    Permalink

    Store a key.

    Store a key. Override an existing values.

    returns

    true

    Definition Classes
    BaseClient
  48. def stats(args: Option[String]): Future[Seq[String]]

    Permalink

    Send a stats command with optional arguments to the server

    Send a stats command with optional arguments to the server

    returns

    a sequence of strings, each of which is a line of output

    Definition Classes
    ProxyClientBaseClient
  49. def stats(): Future[Seq[String]]

    Permalink
    Definition Classes
    BaseClient
  50. def stats(args: String): Future[Seq[String]]

    Permalink
    Definition Classes
    BaseClient
  51. val statsReceiver: StatsReceiver

    Permalink
    Attributes
    protected
    Definition Classes
    MigrationClientZookeeperStateMonitor
  52. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  53. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  54. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. def withBytes: BaseClient[Array[Byte]]

    Permalink

    Adaptor to use Array[Byte] as values

    Adaptor to use Array[Byte] as values

    Definition Classes
    Client
  58. def withStrings: BaseClient[String]

    Permalink

    Adaptor to use String as values

    Adaptor to use String as values

    Definition Classes
    Client
  59. val zkClient: ZooKeeperClient

    Permalink
    Attributes
    protected
    Definition Classes
    MigrationClientZookeeperStateMonitor
  60. val zkPath: String

    Permalink
    Attributes
    protected
    Definition Classes
    MigrationClientZookeeperStateMonitor

Deprecated Value Members

  1. final def cas(key: String, value: Buf, casUnique: Buf): Future[Boolean]

    Permalink

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command.

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command. We treat the "cas unique" token opaquely, but in reality it is a string-encoded u64.

    returns

    true if replaced, false if not

    Definition Classes
    BaseClient
    Annotations
    @deprecated
    Deprecated

    (Since version 2015-12-10) BaseClient.cas deprecated in favor of checkAndSet

    Note

    this is superceded by checkAndSet which returns a higher fidelity return value

  2. final def cas(key: String, flags: Int, expiry: Time, value: Buf, casUnique: Buf): Future[Boolean]

    Permalink

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command.

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command. We treat the "cas unique" token opaquely, but in reality it is a string-encoded u64.

    returns

    true if replaced, false if not

    Definition Classes
    BaseClient
    Annotations
    @deprecated
    Deprecated

    (Since version 2015-12-10) BaseClient.cas deprecated in favor of checkAndSet

    Note

    this is superceded by checkAndSet which returns a higher fidelity return value

Inherited from ZookeeperStateMonitor

Inherited from ProxyClient

Inherited from Client

Inherited from BaseClient[Buf]

Inherited from AnyRef

Inherited from Any

Ungrouped