[ 
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]

Reply via email to