summaryrefslogtreecommitdiff
path: root/storage/cassandra/ha_cassandra.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2013-05-28 12:38:22 +0400
committerSergey Petrunya <psergey@askmonty.org>2013-05-28 12:38:22 +0400
commitc00a37d11384a0c86ae0f42af971bb8691f4018b (patch)
tree79dccd3dc6f781056e4d883ef530c3f3db2a7833 /storage/cassandra/ha_cassandra.cc
parent08ce9bfe057b6cd31e7fbca4e4e9e48edde242fb (diff)
downloadmariadb-git-c00a37d11384a0c86ae0f42af971bb8691f4018b.tar.gz
MDEV-4443: Cassandra SE: ERROR 1928 (HY000): Internal error: 'Thrift exception: Called write on non-open socket'
- Made call re-try system also handle network disconnects (it will reconnect before retrying) - Added Cassandra_network_exceptions counter. - @@cassandra_failure_retries is now always honored.
Diffstat (limited to 'storage/cassandra/ha_cassandra.cc')
-rw-r--r--storage/cassandra/ha_cassandra.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/storage/cassandra/ha_cassandra.cc b/storage/cassandra/ha_cassandra.cc
index 481b520e79a..403d21f75f9 100644
--- a/storage/cassandra/ha_cassandra.cc
+++ b/storage/cassandra/ha_cassandra.cc
@@ -110,7 +110,7 @@ static MYSQL_THDVAR_ULONG(rnd_batch_size, PLUGIN_VAR_RQCMDARG,
static MYSQL_THDVAR_ULONG(failure_retries, PLUGIN_VAR_RQCMDARG,
"Number of times to retry Cassandra calls that failed due to timeouts or "
"network communication problems. The default, 0, means not to retry.",
- NULL, NULL, /*default*/ 0, /*min*/ 0, /*max*/ 1024*1024*1024, 0);
+ NULL, NULL, /*default*/ 3, /*min*/ 1, /*max*/ 1024*1024*1024, 0);
/* These match values in enum_cassandra_consistency_level */
const char *cassandra_consistency_level[] =
@@ -2210,6 +2210,7 @@ int ha_cassandra::reset()
{
se->set_consistency_levels(THDVAR(table->in_use, read_consistency),
THDVAR(table->in_use, write_consistency));
+ se->set_n_retries(THDVAR(table->in_use, failure_retries));
}
return 0;
}
@@ -2581,6 +2582,8 @@ static SHOW_VAR cassandra_status_variables[]= {
{"multiget_rows_read",
(char*) &cassandra_counters.multiget_rows_read, SHOW_LONG},
+ {"network_exceptions",
+ (char*) &cassandra_counters.network_exceptions, SHOW_LONG},
{"timeout_exceptions",
(char*) &cassandra_counters.timeout_exceptions, SHOW_LONG},
{"unavailable_exceptions",