Packages

trait DiscoveryClient extends Logging

A collection of apis that discovery client need implement.

Linear Supertypes
Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DiscoveryClient
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def closeClient(): Unit

    Close the discovery client.

  2. abstract def create(path: String, mode: String, createParent: Boolean = true): String

    Create path on discovery service.

  3. abstract def createAndGetServiceNode(conf: KyuubiConf, namespace: String, instance: String, version: Option[String] = None, external: Boolean = false): String

    Create server service node info on discovery and get the actual path.

    Create server service node info on discovery and get the actual path.

    conf

    Kyuubi config

    namespace

    the path to register instance

    instance

    server info, host:port

    version

    kyuubi version

    external

    if true, the service info will not be automatically deleted upon client's disconnect

  4. abstract def createClient(): Unit

    Create a discovery client.

  5. abstract def delete(path: String, deleteChildren: Boolean = false): Unit

    Delete a path.

    Delete a path.

    path

    the path to be deleted

    deleteChildren

    if true, will also delete children if they exist.

  6. abstract def deregisterService(): Unit

    Deregister Kyuubi instance on discovery service.

  7. abstract def getAndIncrement(path: String, delta: Int = 1): Int

    Atomically get an Int number and add one

    Atomically get an Int number and add one

    path

    the path of stored data, If the path does not exist, it will be created and initialized to 0

    delta

    the increase num

    returns

    the stored data under path

  8. abstract def getChildren(path: String): List[String]

    Get the paths under given path.

    Get the paths under given path.

    returns

    list of path

  9. abstract def getData(path: String): Array[Byte]

    Get the stored data under path.

  10. abstract def getEngineByRefId(namespace: String, engineRefId: String): Option[(String, Int)]

    Get engine info by engine ref id from engine space.

    Get engine info by engine ref id from engine space.

    namespace

    the path to get engine ref

    engineRefId

    engine ref id

    returns

    engine host and port

  11. abstract def getServerHost(namespace: String): Option[(String, Int)]

    Get the engine address and port from engine space.

    Get the engine address and port from engine space.

    returns

    engine host and port

  12. abstract def getServiceNodesInfo(namespace: String, sizeOpt: Option[Int] = None, silent: Boolean = false): Seq[ServiceNodeInfo]

    Get service node info from server space.

    Get service node info from server space.

    namespace

    the path to get node info

    sizeOpt

    how many nodes to pick

    silent

    if true, error message will not be logged

    returns

    Service node info

  13. abstract def monitorState(serviceDiscovery: ServiceDiscovery): Unit

    Add a monitor for serviceDiscovery.

    Add a monitor for serviceDiscovery. It is used to stop service discovery gracefully when disconnect.

  14. abstract def pathExists(path: String): Boolean

    Check if the path is exists.

  15. abstract def pathNonExists(path: String): Boolean

    Check if the path non exists.

  16. abstract def postDeregisterService(namespace: String): Boolean

    Request remove Kyuubi instance on discovery service.

  17. abstract def registerService(conf: KyuubiConf, namespace: String, serviceDiscovery: ServiceDiscovery, version: Option[String] = None, external: Boolean = false): Unit

    Register Kyuubi instance on discovery service.

    Register Kyuubi instance on discovery service.

    conf

    Kyuubi config

    namespace

    the path to register instance

    serviceDiscovery

    service discovery

    version

    kyuubi version

    external

    if true, the service info will not be automatically deleted upon client's disconnect

  18. abstract def setData(path: String, data: Array[Byte]): Boolean

    Set the data under path.

  19. abstract def startSecretNode(createMode: String, basePath: String, initData: String, useProtection: Boolean = false): Unit

    Create a node to store engine secret.

    Create a node to store engine secret.

    createMode

    create node mode, automatically deleted or not

    basePath

    the base path for the node

    initData

    the init data to be stored

    useProtection

    if true, createBuilder with protection

  20. abstract def tryWithLock[T](lockPath: String, timeout: Long)(f: ⇒ T): T

    The distributed lock path used to ensure only once engine being created for non-CONNECTION share level.

    The distributed lock path used to ensure only once engine being created for non-CONNECTION share level.

    timeout

    the timeout of acquiring lock, unit is ms

    Exceptions thrown

    KyuubiSQLException if timeout or get any exception during acquiring lock

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. def debug(message: ⇒ Any, t: Throwable): Unit
    Definition Classes
    Logging
  7. def debug(message: ⇒ Any): Unit
    Definition Classes
    Logging
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def error(message: ⇒ Any): Unit
    Definition Classes
    Logging
  11. def error(message: ⇒ Any, t: Throwable): Unit
    Definition Classes
    Logging
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def info(message: ⇒ Any, t: Throwable): Unit
    Definition Classes
    Logging
  16. def info(message: ⇒ Any): Unit
    Definition Classes
    Logging
  17. def initializeLoggerIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def logger: Logger
    Attributes
    protected
    Definition Classes
    Logging
  20. def loggerName: String
    Attributes
    protected
    Definition Classes
    Logging
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  29. def warn(message: ⇒ Any, t: Throwable): Unit
    Definition Classes
    Logging
  30. def warn(message: ⇒ Any): Unit
    Definition Classes
    Logging

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped