Add ENOSPC handling tests

This commit is contained in:
Vitaliy Filippov
2024-04-07 19:39:33 +03:00
parent 3bf4dd5abd
commit 2b863fb715
9 changed files with 142 additions and 1 deletions
+3 -1
View File
@@ -398,6 +398,8 @@ void cluster_client_t::on_load_config_hook(json11::Json::object & etcd_global_co
client_eio_retry_interval = 10;
}
}
// client_retry_enospc
client_retry_enospc = config["client_retry_enospc"].is_null() ? true : config["client_retry_enospc"].bool_value();
// log_level
log_level = config["log_level"].uint64_value();
msgr.parse_config(config);
@@ -818,7 +820,7 @@ resume_2:
return 1;
}
else if (op->retval != 0 && !(op->flags & OP_FLUSH_BUFFER) &&
op->retval != -EPIPE && (op->retval != -EIO || !client_eio_retry_interval) && op->retval != -ENOSPC)
op->retval != -EPIPE && (op->retval != -EIO || !client_eio_retry_interval) && (op->retval != -ENOSPC || !client_retry_enospc))
{
// Fatal error (neither -EPIPE, -EIO nor -ENOSPC)
erase_op(op);
+1
View File
@@ -94,6 +94,7 @@ class cluster_client_t
int log_level = 0;
int client_retry_interval = 50; // ms
int client_eio_retry_interval = 1000; // ms
bool client_retry_enospc = true;
int retry_timeout_id = 0;
int retry_timeout_duration = 0;