mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-14 19:45:11 +00:00
Fix error
This commit is contained in:
parent
688d5d59af
commit
a18dc73271
@ -4426,18 +4426,17 @@ void MergeTreeData::delayInsertOrThrowIfNeeded(Poco::Event * until, const Contex
|
|||||||
allowed_parts_over_threshold = settings->inactive_parts_to_throw_insert - settings->inactive_parts_to_delay_insert;
|
allowed_parts_over_threshold = settings->inactive_parts_to_throw_insert - settings->inactive_parts_to_delay_insert;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (allowed_parts_over_threshold == 0 || parts_over_threshold > allowed_parts_over_threshold) [[unlikely]]
|
|
||||||
throw Exception(
|
|
||||||
ErrorCodes::LOGICAL_ERROR,
|
|
||||||
"Incorrect calculation of {} parts over threshold: allowed_parts_over_threshold={}, parts_over_threshold={}",
|
|
||||||
(use_active_parts_threshold ? "active" : "inactive"),
|
|
||||||
allowed_parts_over_threshold,
|
|
||||||
parts_over_threshold);
|
|
||||||
|
|
||||||
const UInt64 max_delay_milliseconds = (settings->max_delay_to_insert > 0 ? settings->max_delay_to_insert * 1000 : 1000);
|
const UInt64 max_delay_milliseconds = (settings->max_delay_to_insert > 0 ? settings->max_delay_to_insert * 1000 : 1000);
|
||||||
double delay_factor = static_cast<double>(parts_over_threshold) / allowed_parts_over_threshold;
|
if (allowed_parts_over_threshold == 0 || parts_over_threshold > allowed_parts_over_threshold)
|
||||||
const UInt64 min_delay_milliseconds = settings->min_delay_to_insert_ms;
|
{
|
||||||
delay_milliseconds = std::max(min_delay_milliseconds, static_cast<UInt64>(max_delay_milliseconds * delay_factor));
|
delay_milliseconds = max_delay_milliseconds;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
double delay_factor = static_cast<double>(parts_over_threshold) / allowed_parts_over_threshold;
|
||||||
|
const UInt64 min_delay_milliseconds = settings->min_delay_to_insert_ms;
|
||||||
|
delay_milliseconds = std::max(min_delay_milliseconds, static_cast<UInt64>(max_delay_milliseconds * delay_factor));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ProfileEvents::increment(ProfileEvents::DelayedInserts);
|
ProfileEvents::increment(ProfileEvents::DelayedInserts);
|
||||||
|
Loading…
Reference in New Issue
Block a user