Merge pull request #52382 from ClickHouse/tavplubix-patch-8

Less replication errors
This commit is contained in:
Alexander Tokmakov 2023-07-21 14:58:25 +03:00 committed by GitHub
commit d9161c7276
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -353,8 +353,14 @@ MergeTreeData::DataPartPtr Service::findPart(const String & name)
{
/// It is important to include Outdated parts here because remote replicas cannot reliably
/// determine the local state of the part, so queries for the parts in these states are completely normal.
auto part = data.getPartIfExists(
name, {MergeTreeDataPartState::Active, MergeTreeDataPartState::Outdated});
MergeTreeData::DataPartPtr part;
/// Ephemeral zero-copy lock may be lost for PreActive parts
bool zero_copy_enabled = data.getSettings()->allow_remote_fs_zero_copy_replication;
if (zero_copy_enabled)
part = data.getPartIfExists(name, {MergeTreeDataPartState::Active, MergeTreeDataPartState::Outdated});
else
part = data.getPartIfExists(name, {MergeTreeDataPartState::PreActive, MergeTreeDataPartState::Active, MergeTreeDataPartState::Outdated});
if (part)
return part;