worryg0d commented on code in PR #1793:
URL:
https://github.com/apache/cassandra-gocql-driver/pull/1793#discussion_r2024697220
##########
query_executor.go:
##########
@@ -83,7 +84,27 @@ func (q *queryExecutor) speculate(ctx context.Context, qry
ExecutableQuery, sp S
}
func (q *queryExecutor) executeQuery(qry ExecutableQuery) (*Iter, error) {
- hostIter := q.policy.Pick(qry)
+ var hostIter NextHost
+
+ // check if the host id is specified for the query,
+ // if it is, the query should be executed at the corresponding host.
+ if hostID := qry.GetHostID(); hostID != "" {
+ pool, ok := q.pool.getPoolByHostID(hostID)
+ if !ok || !pool.host.IsUp() {
+ return &Iter{err: ErrNoConnections}, nil
+ }
+ hostIter = func() SelectedHost {
+ // forcing hostIter to always return the same host
+ // it makes any retries and speculative executions run
on the specified host
Review Comment:
Well, the 2.0 release is already a bit overloaded, but if anybody has the
extra capacity to work on this it would be nice to address this before the
release.
Leaving this is not a good idea, because it may affect the end users and
their applications.
@tengu-alt @OleksiienkoMykyta If it won't bother could you please take a
look at CASSGO-50?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]