com.codemettle.akkasolr.client

LBClientConnection

object LBClientConnection

An actor for load-balancing requests between Solr servers. Based directly on org.apache.solr.client.solrj.impl.LBHttpSolrServer so its notes on indexing hold for this implementation. Isn't strictly round robin (and neither is the original, due to error handling and retries), but tries servers in random order for every request (so roughly equal distribution over time). The random query sequences always try "zombie" servers after all "live" servers have been tried. Doesn't provide ability to add/remove servers after creation, but could easily be added. The capability to query all servers in parallel and return the first successful response isn't currently implemented, but could easily be added.

See also

org.apache.solr.client.solrj.impl.LBHttpSolrServer

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. LBClientConnection
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class ExtendedRequest(op: SolrOperation, servers: List[String], numDeadServersToTry: Int = 1) extends Product with Serializable

    Message that runs an operation analogously to org.apache.solr.client.solrj.impl.LBHttpSolrServer#request(org.apache.solr.client.solrj.impl.LBHttpSolrServer.Req)

    Message that runs an operation analogously to org.apache.solr.client.solrj.impl.LBHttpSolrServer#request(org.apache.solr.client.solrj.impl.LBHttpSolrServer.Req)

    op

    operation to run

    servers

    a list of servers to try that don't necessarily have to be the same servers that the LBClientConnection was created to handle

    numDeadServersToTry

    The number of dead servers to try if there are no live servers left. Defaults to the number of servers in this request if the number is less than 0.

    Annotations
    @SerialVersionUID()
  2. case class ExtendedResponse(response: SolrQueryResponse, server: String) extends Product with Serializable

    Annotations
    @SerialVersionUID()

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[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  15. def props(servers: Iterable[SolrConnection], options: LBConnectionOptions): Props

  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  17. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped