Load-Balancer doesn't request complete Cluster directly

Description

We are running a cassandra cluster containing 10 nodes without replicated data, each nodes are local. Each node owns round a about 10 % of the complete data.

Each node owns parts of the TOKENs (without any replication).

We use the Java driver with default configuration. As we can see one node is not directly (connection: Java client --> node) requested. One node is not connected from the client and receives no requests / responses directly from the client (requests will be transmitted and answered via internal Cluster GOSSIP-protocol to the coordinator of the request). 9 nodes are directly receiving the requests based on the TOKEN-Map of the driver.

So it seems a BUG in the Load-Balancer, not directly sending the requests to the node owing the token and using an other coordinator node. This kind of requests needs more time to answer.

What we've tried to change the behavior:

  • Reducing / Extending the cluster with more nodes: Every time one is not directly requested

  • Extend the -Ddatastax-java-driver.advanced.connection.pool.local.size to 20 or more: One node doesn't contain 20 connections (per Java client); Other nodes have more than 20 connections per Java client

Environment

Linux cassandra nodes 3.11.7
Datastax Java Driver 4.8

Pull Requests

None

Activity

Show:
Joao Reis
November 11, 2020, 2:10 PM

Did you mean to create this JIRA on the java driver project? Please let me know and I will move this to the correct JIRA project.

Arne Voß
November 11, 2020, 3:00 PM

Sorry I created the item in the wrong project. It’s duplicated with JAVA-2897

Assignee

Unassigned

Reporter

Arne Voß

Labels

None

PM Priority

None

Reproduced in

None

Affects versions

None

Fix versions

None

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Priority

Major
Configure