Skip to main content

الأخطاء الشائعة

فشل اختبار منح الصلاحيات أو تعذّر تنفيذ العمليات المرتبطة بالأذونات

رسالة الخطأ:
السبب: لا يملك مستخدم Fivetran الامتيازات المطلوبة. يتطلب الـ connector منح ALTER وCREATE DATABASE وCREATE TABLE وINSERT وSELECT على *.* (جميع قواعد البيانات والجداول).
تستعلم استعلامات التحقق من الامتيازات من system.grants، ولا تطابق إلا الامتيازات الممنوحة مباشرةً للمستخدم. ولا يتم اكتشاف الامتيازات المعيّنة من خلال دور في ClickHouse. راجع قسم الامتيازات الممنوحة عبر الأدوار لمزيد من التفاصيل.
الحل: امنح الامتيازات المطلوبة مباشرةً لمستخدم Fivetran:

خطأ أثناء انتظار اكتمال جميع عمليات التعديل

رسالة الخطأ:
السبب: تم إرسال عملية ALTER TABLE ... UPDATE أو ALTER TABLE ... DELETE من نوع mutation، لكن الموصّل انتهت مهلته أثناء انتظار اكتمالها على جميع النسخ المتماثلة. وغالبًا ما يحتوي جزء “initial cause” من الخطأ على خطأ ClickHouse الأصلي (وعادةً ما يكون بالرمز 341، “Unfinished”). يمكن أن يحدث هذا عندما:
  • يكون عنقود ClickHouse Cloud تحت حملٍ مرتفع.
  • تتوقف عقدة واحدة أو أكثر أثناء تنفيذ عملية mutation.
الحلول:
  1. تحقق من تقدّم عملية mutation: شغّل الاستعلام التالي للتحقق من عمليات mutation المعلّقة:
  2. تحقق من حالة العنقود: تأكد من أن جميع العقد سليمة.
  3. انتظر ثم أعد المحاولة: تكتمل عمليات mutation في النهاية بمجرد أن تستعيد حالة العنقود عافيتها. سيعيد Fivetran محاولة المزامنة تلقائيًا.

خطأ عدم تطابق الأعمدة

رسالة الخطأ: قد تظهر أخطاء مختلفة إذا كان عدم تطابق الأعمدة ناتجًا عن تغيّر في مخطط المصدر. على سبيل المثال:
أو:
السبب: الأعمدة في جدول الوجهة في ClickHouse لا تتطابق مع الأعمدة في البيانات التي تتم مزامنتها. يمكن أن يحدث هذا عندما:
  • أُضيفت أعمدة إلى جدول ClickHouse أو أُزيلت منه يدويًا.
  • لم يُطبَّق تغيير في المخطط في المصدر على النحو الصحيح.
الحلول:
  1. تذكّر عدم تعديل الجداول المُدارة بواسطة Fivetran يدويًا. راجع أفضل الممارسات.
  2. أعِد العمود إلى حالته السابقة: إذا كنت تعرف النوع الذي ينبغي أن يكون عليه العمود، فأعِد العمود إلى النوع المتوقع باستخدام تعيين تحويل الأنواع كمرجع.
  3. أعِد مزامنة الجدول: في لوحة معلومات Fivetran، شغِّل إعادة مزامنة تاريخية للجدول المتأثر.
  4. احذف وأعِد الإنشاء: كحل أخير، احذف جدول الوجهة ودَع Fivetran يعيد إنشاءه أثناء المزامنة التالية.

‏AST كبيرة جدًا (الرمز 168)

رسالة الخطأ:
أو
السبب: تؤدي دفعات UPDATE أو DELETE الكبيرة إلى إنشاء عبارات SQL ذات أشجار بنية مجردة بالغة التعقيد. ويشيع ذلك مع الجداول العريضة أو عند تفعيل وضع السجل التاريخي. الحل: خفّض mutation_batch_size وhard_delete_batch_size في ملف التهيئة المتقدمة. تكون القيمة الافتراضية لكليهما 1500، ويقبلان قيماً بين 200 و1500.

تم تجاوز الحد الأقصى للذاكرة / نفاد الذاكرة (OOM) (الرمز 241)

رسالة الخطأ:
السبب: تتطلب عملية INSERT ذاكرة أكبر من الذاكرة المتاحة. يحدث هذا عادةً أثناء المزامنات الأولية الكبيرة، أو مع الجداول ذات الأعمدة الكثيرة، أو عمليات Batch المتزامنة. الحلول:
  1. تقليل write_batch_size: جرّب خفضها إلى 50,000 للجداول الكبيرة.
  2. تقليل حمل قاعدة البيانات: تحقّق من الحمل على خدمة ClickHouse Cloud لمعرفة ما إذا كان هناك حمل زائد.
  3. ترقية خدمة ClickHouse Cloud لتوفير مزيد من الذاكرة.

EOF غير متوقعة / خطأ في الاتصال

رسالة الخطأ:
أو FAILURE_WITH_TASK من دون تتبّع مكدس في سجلات Fivetran. السبب:
  • لم تُضبط قائمة الوصول لعناوين IP للسماح بمرور حركة Fivetran.
  • مشكلات شبكة عابرة بين Fivetran وClickHouse Cloud.
  • بيانات مصدر تالفة أو غير صالحة تؤدي إلى تعطل موصل الوجهة.
الحلول:
  1. تحقّق من قائمة الوصول لعناوين IP: في ClickHouse Cloud، انتقل إلى الإعدادات > الأمان وأضف عناوين IP الخاصة بـ Fivetran أو اسمح بالوصول من أي مكان.
  2. إعادة المحاولة: تعيد إصدارات الموصل الأحدث المحاولة تلقائيًا عند حدوث أخطاء EOF. وغالبًا ما تكون الأخطاء المتقطعة (1–2 يوميًا) عابرة.
  3. إذا استمرت المشكلة: افتح تذكرة دعم مع ClickHouse وقدّم نافذة الوقت الخاصة بالخطأ. واطلب أيضًا من دعم Fivetran التحقيق في جودة بيانات المصدر.

يتعذّر تعيين النوع UInt64

رسالة الخطأ:
السبب: يربط الموصّل LONG بـ Int64 فقط، وليس بـ UInt64 مطلقًا. يظهر هذا الخطأ عند تعديل نوع أحد الأعمدة يدويًا في جدول تديره Fivetran. الحلول:
  1. لا تعدّل أنواع الأعمدة يدويًا في الجداول التي تديرها Fivetran.
  2. لاستعادة الوضع: أعد العمود إلى النوع المتوقّع (مثل Int64) أو احذف الجدول ثم أعد مزامنته.
  3. للأنواع المخصّصة: أنشئ عرضًا ماديًا فوق الجدول الذي تديره Fivetran.

لا توجد مفاتيح أساسية للجدول

رسالة الخطأ:
السبب: يتطلب كل جدول ClickHouse وجود ORDER BY. عندما لا يحتوي المصدر على مفتاح أساسي، تضيف Fivetran الحقل _fivetran_id تلقائيًا. يحدث هذا الخطأ في حالات نادرة يكون فيها للمصدر مفتاح أساسي (PK)، لكن البيانات لا تتضمنه. الحلول:
  1. تواصل مع دعم Fivetran للتحقيق في مسار معالجة بيانات المصدر.
  2. تحقق من مخطط المصدر: تأكد من وجود أعمدة المفتاح الأساسي في البيانات.

فشل الأذونات المستندة إلى الأدوار

رسالة الخطأ:
السبب: يفحص الـconnector الامتيازات باستخدام:
لا يُرجع هذا سوى الامتيازات الممنوحة مباشرةً. أما الامتيازات المُسندة عبر دور في ClickHouse فتكون قيمتها user_name = NULL وrole_name = 'my_role'، لذا لا تظهر في هذا الفحص. الحل: امنح الامتيازات مباشرةً لمستخدم Fivetran:

أفضل الممارسات

خدمة ClickHouse مخصّصة لـ Fivetran

عند ارتفاع حمل الإدخال، فكّر في استخدام compute-compute separation في ClickHouse Cloud لإنشاء خدمة مخصّصة لأحمال الكتابة الخاصة بـ Fivetran. يعزل هذا الإدخال عن الاستعلامات التحليلية ويمنع التنافس على الموارد. على سبيل المثال، يمكن استخدام المعمارية التالية:
  • الخدمة A (للكتابة): وجهة Fivetran + أدوات إدخال أخرى (ClickPipes، وموصلات Kafka)
  • الخدمة B (للقراءة): أدوات BI، ولوحات المعلومات، والاستعلامات الفورية

تحسين استعلامات القراءة

يستخدم ClickHouse SharedReplacingMergeTree لجداول الوجهة في Fivetran، وهو إصدار من محرك الجداول ReplacingMergeTree في ClickHouse Cloud. وجود صفوف مكررة بالمفتاح الأساسي نفسه أمر طبيعي — إذ تحدث إزالة التكرارات بشكل غير متزامن أثناء عمليات الدمج في الخلفية. وعند القراءة، يجب توخي الحذر لتجنب إرجاع صفوف مكررة، لأن بعض الصفوف قد لا تكون أُزيلت تكراراتها بعد. يُعد استخدام الكلمة المفتاحية FINAL أبسط طريقة لتجنب الصفوف المكررة، لأنه يفرض دمج أي صفوف لم تُزل تكراراتها بعد وقت القراءة:
هناك طرق لتحسين عملية FINAL هذه — على سبيل المثال، من خلال التصفية على أعمدة المفتاح باستخدام شرط WHERE. لمزيد من التفاصيل، راجع قسم أداء FINAL في دليل ReplacingMergeTree. إذا لم تكن هذه التحسينات كافية، فلديك خيارات إضافية تتيح تجنّب استخدام FINAL مع الاستمرار في التعامل مع القيم المكررة بشكل صحيح:

تحسين المفتاح الأساسي وORDER BY

يقوم Fivetran بمطابقة المفتاح الأساسي للجدول المصدر مع عبارة ORDER BY في ClickHouse. وعندما لا يحتوي المصدر على PK، يصبح _fivetran_id (وهو UUID) مفتاح الفرز، مما قد يؤدي إلى ضعف أداء الاستعلامات لأن ClickHouse يبني الفهرس الأساسي المتناثر من أعمدة ORDER BY. التوصيات في هذه الحالة إذا لم يكن أي تحسين آخر كافيًا:
  1. تعامل مع جداول Fivetran على أنها جداول مرحلية خام. لا تستعلم منها مباشرةً لأعمال التحليلات.
  2. إذا لم يكن أداء الاستعلامات كافيًا بعد، فاستخدم عرضًا ماديًا قابلاً للتحديث لإنشاء نسخة من الجدول يكون فيها ORDER BY محسّنًا ليتناسب مع أنماط الاستعلام لديك. وعلى عكس العروض المادية التزايدية، تعيد العروض المادية القابلة للتحديث تشغيل الاستعلام كاملًا وفق جدول زمني، مما يعالج عمليتي UPDATE وDELETE اللتين يُجريهما Fivetran أثناء المزامنة بشكل صحيح:
تجنّب العروض المادية التزايدية (غير القابلة للتحديث) مع الجداول التي يديرها Fivetran. ولأن Fivetran يُجري عمليتي UPDATE وDELETE للحفاظ على تزامن البيانات، فلن تعكس العروض المادية التزايدية هذه التغييرات وستحتوي على بيانات قديمة أو غير صحيحة.

لا تُعدِّل الجداول التي يديرها Fivetran يدويًا

تجنّب إجراء تغييرات DDL يدويًا (مثل ALTER TABLE ... MODIFY COLUMN) على الجداول التي يديرها Fivetran. يتوقّع الموصّل مخطط البيانات الذي أنشأه. قد تتسبب التغييرات اليدوية في أخطاء تعيين الأنواع وإخفاقات عدم تطابق مخطط البيانات. استخدم العروض المادية لإجراء التحويلات المخصّصة.

تصحيح أخطاء العمليات

عند تشخيص حالات الفشل:
  • تحقّق من system.query_log في ClickHouse بحثًا عن المشكلات من جهة الخادم.
  • اطلب المساعدة من Fivetran بشأن المشكلات من جهة العميل.
بالنسبة إلى أخطاء الموصل، أنشئ issue على GitHub أو تواصل مع ClickHouse Support.

استكشاف أخطاء مزامنة Fivetran وإصلاحها

استخدم الاستعلامات التالية لتشخيص حالات فشل المزامنة في ClickHouse.

تحقّق من أحدث أخطاء ClickHouse المتعلقة بـ Fivetran

تحقّق من أحدث نشاط لمستخدم Fivetran

آخر تعديل في ٣ يوليو ٢٠٢٦