|
|
@ -1723,13 +1723,13 @@ static bool submit_upstream_work(const struct work *work, CURL *curl) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* Once we have more than a nominal amount of sequential rejects,
|
|
|
|
/* Once we have more than a nominal amount of sequential rejects,
|
|
|
|
* at least 10 and more than the current utility rate per minute, |
|
|
|
* at least 10 and more than 3 mins at the current utility, |
|
|
|
* disable the pool because some pool error is likely to have |
|
|
|
* disable the pool because some pool error is likely to have |
|
|
|
* ensued. */ |
|
|
|
* ensued. */ |
|
|
|
if (pool->seq_rejects > 10 && opt_disable_pool && total_pools > 1) { |
|
|
|
if (pool->seq_rejects > 10 && opt_disable_pool && total_pools > 1) { |
|
|
|
double utility = total_accepted / ( total_secs ? total_secs : 1 ) * 60; |
|
|
|
double utility = total_accepted / ( total_secs ? total_secs : 1 ) * 60; |
|
|
|
|
|
|
|
|
|
|
|
if (pool->seq_rejects > utility) { |
|
|
|
if (pool->seq_rejects > utility * 3) { |
|
|
|
applog(LOG_WARNING, "Pool %d rejected %d sequential shares, disabling!", |
|
|
|
applog(LOG_WARNING, "Pool %d rejected %d sequential shares, disabling!", |
|
|
|
pool->pool_no, pool->seq_rejects); |
|
|
|
pool->pool_no, pool->seq_rejects); |
|
|
|
pool->enabled = POOL_REJECTING; |
|
|
|
pool->enabled = POOL_REJECTING; |
|
|
|