Class

com.github.trex_paxos.library

NoLongerLeaderException

Related Doc: package library

Permalink

case class NoLongerLeaderException(nodeId: Int, msgId: Long) extends RuntimeException with PaxosMessage with Product with Serializable

Response to a client when the nodes has lost its leadership whilst servicing a request during a fail-over due to either a network partition or a long stall. The outcome of the client operation indicated by msgId is unknown as the operation may or may not be committed by the new leader. The application will have to query data to learn whether the operation did actually work. Note that semantically this is no different from sending a tcp request to an open socket and not getting back a response; its not known whether the request was processed as there has been neither positive nor negative acknowledgement. Since we don't know if it is safe to retry the operation nor how to query to check it the host application will have to decided what to do next. Note that this may be thrown for read only work if the application used strong or single reads as those avoid returning stale data which may occur doing a leader failover.

nodeId

The node replying that it is has lost the leader.

msgId

The client message which the node is responding to.

Linear Supertypes
Serializable, Product, Equals, PaxosMessage, RuntimeException, Exception, Throwable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. NoLongerLeaderException
  2. Serializable
  3. Product
  4. Equals
  5. PaxosMessage
  6. RuntimeException
  7. Exception
  8. Throwable
  9. Serializable
  10. AnyRef
  11. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new NoLongerLeaderException(nodeId: Int, msgId: Long)

    Permalink

    nodeId

    The node replying that it is has lost the leader.

    msgId

    The client message which the node is responding to.

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. final def addSuppressed(arg0: Throwable): Unit

    Permalink
    Definition Classes
    Throwable
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def fillInStackTrace(): Throwable

    Permalink
    Definition Classes
    Throwable
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def getCause(): Throwable

    Permalink
    Definition Classes
    Throwable
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def getLocalizedMessage(): String

    Permalink
    Definition Classes
    Throwable
  13. def getMessage(): String

    Permalink
    Definition Classes
    Throwable
  14. def getStackTrace(): Array[StackTraceElement]

    Permalink
    Definition Classes
    Throwable
  15. final def getSuppressed(): Array[Throwable]

    Permalink
    Definition Classes
    Throwable
  16. def initCause(arg0: Throwable): Throwable

    Permalink
    Definition Classes
    Throwable
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. val msgId: Long

    Permalink

    The client message which the node is responding to.

  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. val nodeId: Int

    Permalink

    The node replying that it is has lost the leader.

  21. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  23. def printStackTrace(arg0: PrintWriter): Unit

    Permalink
    Definition Classes
    Throwable
  24. def printStackTrace(arg0: PrintStream): Unit

    Permalink
    Definition Classes
    Throwable
  25. def printStackTrace(): Unit

    Permalink
    Definition Classes
    Throwable
  26. def setStackTrace(arg0: Array[StackTraceElement]): Unit

    Permalink
    Definition Classes
    Throwable
  27. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    NoLongerLeaderException → Throwable → AnyRef → Any
  29. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from PaxosMessage

Inherited from RuntimeException

Inherited from Exception

Inherited from Throwable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped