[
https://issues.apache.org/jira/browse/CASSANDRA-19451?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17849404#comment-17849404
]
Bret McGuire commented on CASSANDRA-19451:
------------------------------------------
To close the loop here: we wound up releasing this as a [separate
artifact|https://github.com/datastax/java-driver-policies] managed by DataStax.
We saw real problems with the plethora of options users had with the 3.x Java
driver; the explosion of combinations of LBPs in that driver led to confusion
about what should be used in what situations. 4.x very deliberately went the
other way by maintaining a single LBP (DefaultLoadBalancingPolicy) which has
very reasonable behaviour in a wide range of configurations. To avoid
re-introducing the confusion we saw with 3.x the aim here is to keep extraneous
LBPs out of the core driver and in discrete artifacts.
We can consider addressing this in the future via something like the "extras"
directory maintained in the 3.x driver. The 4.x driver has an "examples"
directory which serves a similar function but it's not exactly equivalent.
Furthermore any such optional policy should have _very_ clear guidance around
it's behaviour and in what cases a user may want to consider deploying it.
> An Option of Latency Sensitive Load Balancing Policy
> ----------------------------------------------------
>
> Key: CASSANDRA-19451
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19451
> Project: Cassandra
> Issue Type: Improvement
> Components: Client/java-driver
> Reporter: Jane He
> Assignee: Jane He
> Priority: High
> Time Spent: 40m
> Remaining Estimate: 0h
>
> We have received concerns from the community about the 4.x java driver
> default load balancing policy's performance in terms of busy node avoidance.
> In some circumstances, when some nodes are busy, the 3.x java driver's
> `LatencyAwarenessLoadBalancingPolicy` almost does not send requests to the
> busy nodes, while the 4.x default one will still send a lot of requests to
> them. This is because the 4.x default one uses in-flight count and responses
> in the past 200ms to determine a node's health instead of latency.
> Therefore, we want to create another class called
> `LatencySensitiveLoadBalancingPolicy` in the 4.x java driver, which will
> combine the in-flight count and the latency. A user can use it by specifying
> it in `application.conf`.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]