Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

DB::Exception: الجزء XXXXX يتداخل مع الجزء السابق YYYYY. هذا خلل برمجي أو نتيجة تدخّل يدوي في بيانات ZooKeeper.

لماذا يحدث هذا

عند وقوع هذا الخطأ، يظهر أحد الجداول على أنه للقراءة فقط، وتوضح رسالة الخطأ وجود أجزاء متداخلة.

يمكنك رؤية الخطأ في السجلات أو من خلال

SELECT *
FROM system.replicas
WHERE is_readonly = 1

تكون رسالة الخطأ على النحو التالي:

Code: 49. DB::Exception: Part XXXXX intersects previous part YYYYY. It is a bug or a result of manual intervention in the ZooKeeper data. (LOGICAL_ERROR) (version 21.12.4.1 (official build))

سبب الخطأ

قد ينجم هذا الخطأ عن حالة تسابق بين mergeSelectingTask وإعادة تهيئة قائمة الانتظار.

الحل

نفِّذ الاستعلامات التالية على جميع النسخ المتماثلة:

DETACH TABLE table_name;  -- Required for DROP REPLICA

SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/table_path_in_zk/'; -- It will remove everything from /table_path_in_zk

ATTACH TABLE table_name;  -- Table will be in readonly mode, because there is no metadata in ZK

ثم نفّذ ما يلي على جميع النُسخ المتماثلة:

SYSTEM RESTORE REPLICA table_name;  -- It will detach all partitions, re-create metadata in ZK (like it's new empty table), and then attach all partitions back

SYSTEM SYNC REPLICA table_name; -- Wait for replicas to synchronize parts. Also it's recommended to check `system.detached_parts` on all replicas after recovery is finished.

موارد إضافية

طلبات الدمج ومسائل GitHub ذات الصلة:

الإصدارات المتأثرة:

ClickHouse v 22.12 والإصدارات السابقة

Navigation