Skip to content

Commit

Permalink
cassandra: Use fallback consistency for CASS_ERROR_LIB_NO_HOSTS_AVAIL…
Browse files Browse the repository at this point in the history
…ABLE errors

I'm not entirely sure if this is always appropriate, but at least this error
happens every time when attempting to use write_consistency=two when there
is only a single Cassandra node.
  • Loading branch information
sirainen committed Apr 24, 2017
1 parent 107b217 commit 1d567a4
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/lib-sql/driver-cassandra.c
Expand Up @@ -841,12 +841,17 @@ static void query_callback(CassFuture *future, void *context)
enough nodes available. "All hosts in current policy
attempted and were either unavailable or failed"
no hosts available = The client library couldn't connect to
enough cassanra nodes. Error message is the same as for
"unavailable".
write timeout = cassandra server couldn't reach all the
needed nodes. this may be because it hasn't yet detected
that the servers are down, or because the servers are just
too busy. we'll try the fallback consistency to avoid
unnecessary temporary errors. */
if ((error == CASS_ERROR_SERVER_UNAVAILABLE ||
error == CASS_ERROR_LIB_NO_HOSTS_AVAILABLE ||
error == CASS_ERROR_SERVER_WRITE_TIMEOUT) &&
result->fallback_consistency != result->consistency) {
/* retry with fallback consistency */
Expand Down

0 comments on commit 1d567a4

Please sign in to comment.