ابتدائی رسائی کی درخواست کریں

اپنا پہلا نام اور ای میل پتہ درج کریں۔ ہم Tajo تک رسائی کی درخواست کی تصدیق کے لیے ایک لنک ای میل کریں گے۔

ابتدائی 6 منٹ

رکے ہوئے یا ناکام سنک کو بحال کریں

جب کوئی worker رک جائے یا سنک کا رن ناکام ہو تو Tajo خود کیا کرتا ہے، سنک کا صفحہ کیا دکھاتا ہے، اور آپ کو کب قدم اٹھانا ہے: دوبارہ کوشش، دوبارہ منسلک کرنا، میپنگ درست کرنا یا دوبارہ شائع کرنا۔

سنک کا رن آدھے راستے میں رک سکتا ہے کیونکہ کوئی worker دوبارہ شروع ہوتا ہے، دوسرا سسٹم بند ہوتا ہے یا کوئی ریکارڈ مسترد ہو جاتا ہے۔ رکے ہوئے worker یا عارضی بندش کے بعد Tajo سنک کو خود وہیں سے سنبھال لیتا ہے۔ یہ پچھلے سات دنوں میں لکھے گئے ریکارڈز دوبارہ نہیں بھیجتا۔ یہ صفحہ بتاتا ہے کہ Tajo کیا کرتا ہے، آپ سنک کے صفحے پر کیا دیکھتے ہیں، اور وہ چند صورتیں جن میں آپ کو قدم اٹھانا ہے۔

فوری جانچ Connections کے تحت Syncs and mappings سے سنک کھولیں اور Run history میں سب سے نیا رن پڑھیں۔ ناکام رن بتاتا ہے کہ کیا ہوا اور آگے کیا کرنا ہے۔

Tajo خود کیا کرتا ہے

Cursor۔ رن اپنے سورس کو سنک کے محفوظ cursor سے شروع کر کے بیچوں میں پڑھتا ہے۔ cursor بیچ کے آخر میں صرف تب آگے بڑھتا ہے جب اس بیچ کا ہر ریکارڈ پہنچ چکا ہو۔ اگر رن ناکام ہو جائے تو وہ آخری مقام محفوظ رہتا ہے جہاں تک وہ صاف طور پر پہنچا تھا۔ اگلا رن وہیں سے شروع ہوتا ہے، اس لیے رکا ہوا بیچ چھوڑا نہیں جاتا بلکہ دوبارہ پڑھا جاتا ہے۔

ڈیلیوری لیجر۔ کوئی ریکارڈ لکھے جانے سے پہلے ایک ڈیلیوری کلید حاصل کرتا ہے۔ یہ کلید سنک، سورس، صفحے کے cursor، صفحے پر ریکارڈ کی جگہ اور خود ریکارڈ کا ہیش ہے، اس لیے اس میں کوئی ذاتی ڈیٹا نہیں ہوتا۔ منزل کو کال کرنے سے پہلے کلید پر دعویٰ کیا جاتا ہے۔ تحریر کامیاب ہونے پر کلید کو مکمل نشان زد کر کے سات دن تک رکھا جاتا ہے۔ کلید اس بات پر منحصر نہیں کہ کون سا رن پوچھ رہا ہے، اس لیے دوبارہ کوشش یا بعد کا شیڈول شدہ رن ایک ہی ریکارڈ کے لیے وہی کلید بناتا ہے۔ ان سات دنوں میں محفوظ نتیجہ استعمال ہوتا ہے اور منزل کو دوبارہ کال نہیں کیا جاتا۔ اسی لیے دوبارہ چلایا گیا بیچ دو بار نہیں لکھا جاتا۔

ایک وقت میں ایک رن۔ ہر سنک کی ایک lease ہوتی ہے، جسے جاری رن اپنی پوری مدت تک رکھتا ہے۔ lease کا اپنا ٹوکن ہوتا ہے اور اس کی مدت 15 منٹ ہے، اور رن کے کام کرتے ہوئے ہر 5 منٹ بعد اس کی تجدید ہوتی ہے۔ جو رن اپنی lease کھو دے وہ دو بار لکھنے سے بچنے کے لیے اپنی اگلی تحریر یا چیک پوائنٹ سے پہلے رک جاتا ہے۔ جب کوئی worker رک جائے تو اس کی lease کی تجدید نہیں ہوتی اور وہ 15 منٹ کے اندر ختم ہو جاتی ہے۔

خودکار دوبارہ کوششیں۔ قطار میں موجود رن ناکام ہو تو اسے زیادہ سے زیادہ پانچ کوششیں ملتی ہیں۔ Tajo دوسری کوشش سے پہلے 60 سیکنڈ انتظار کرتا ہے، پھر 120، 240 اور 480 سیکنڈ۔ جو دوبارہ کوشش یا ٹیسٹ رن آپ خود شروع کریں وہ ایک بار چلتا ہے۔ جو رن پہلے سے جاری رن سے ٹکرا گیا ہو اسے دوبارہ نہیں چلایا جاتا، اور نہ ہی اس رن کو جس کا شائع شدہ ورژن یا کنکشن اب درست نہ ہوں۔

رکے ہوئے رن۔ جس سنک کو Tajo شیڈول پر چلاتا ہے، اس میں کوئی رن بند کر دیا جاتا ہے اور نیا رن قطار میں ڈالا جاتا ہے جب وہ ایک گھنٹے سے زیادہ پہلے شروع ہوا ہو اور اب lease نہ رکھتا ہو۔ بند کیا گیا رن “The run stopped reporting progress and was closed.” (رن نے پیش رفت کی اطلاع دینا بند کر دی اور اسے بند کر دیا گیا) دکھاتا ہے۔ یعنی رکے ہوئے رن کی lease زیادہ سے زیادہ 15 منٹ رہتی ہے، اور شیڈول شدہ سنک کا رکا ہوا رن ایک گھنٹے بعد بدل دیا جاتا ہے۔ ڈیٹا سنک کو سمجھنا بتاتا ہے کہ کون سے سنک شیڈول پر چلتے ہیں۔

بار بار ناکامی کے بعد وقفہ۔ اگر سنک میں آخری تبدیلی کے بعد مکمل ہونے والے آخری پانچ رن سب ناکام ہوئے ہوں تو Tajo سنک کو روک دیتا ہے۔ اس کا صفحہ آخری ایرر کے ساتھ “Paused automatically by the failure circuit breaker” دکھاتا ہے۔ ایک کامیاب رن گنتی کو صفر کر دیتا ہے۔ کوئی چیز رکے ہوئے سنک کو خود دوبارہ شروع نہیں کرتی: وہ اس وقت تک رکا رہتا ہے جب تک آپ وجہ ٹھیک کر کے اسے دوبارہ شائع نہ کریں۔

ہر گھنٹے کی جانچ۔ ہر گھنٹے، 13 منٹ گزرنے پر، Tajo اپنی ٹیم کو ہر اس ورک اسپیس کے بارے میں الرٹ کرتا ہے جس میں فعال سنک ہو اور پچھلے 24 گھنٹوں میں کوئی کامیاب رن نہ ہو۔ اس میں وہ ورک اسپیس بھی شامل ہے جس میں کوئی رن ریکارڈ ہی نہیں ہوا۔ الرٹ ایک بار بھیجا جاتا ہے، اور دوبارہ صرف تب جب کوئی رن کامیاب ہو چکا ہو۔ جس ورک اسپیس کا سب سے پرانا فعال سنک 24 گھنٹے سے کم پہلے فعال یا تبدیل کیا گیا ہو، اس کی ابھی جانچ نہیں ہوتی۔ یہ الرٹ Tajo تک پہنچتا ہے، آپ تک نہیں، اور یہ آپ کے سنک کو نہیں بدلتا۔

آپ کیا دیکھتے ہیں

Syncs and mappings سے سنک کھولیں۔ Run history ہر رن کو پڑھے گئے ریکارڈز میں سے لکھے گئے ریکارڈز، ناکام تعداد، دورانیے اور شروع ہونے کے وقت کے ساتھ دکھاتا ہے۔ اس کا اسٹیٹس Queued، Running، Succeeded، Partial (کچھ ریکارڈز ناکام ہوئے) یا Failed ہوتا ہے۔

  • جو جاری رن 2 منٹ سے پیش رفت کی اطلاع نہ دے وہ “Waiting for a fresh progress update” (پیش رفت کی نئی اطلاع کا انتظار) دکھاتا ہے۔
  • ناکام رن ایک جملہ دکھاتا ہے کہ کیا ہوا، ایک جملہ کہ آگے کیا کرنا ہے، ناکامی کا نام اور رن کی id۔
  • Syncs صفحے پر View DLQ ہر سنک کے ناکام اور جزوی رن دکھاتا ہے، ہر ایک کے ساتھ Retry بٹن۔

کیا کریں

  1. سب سے نیا ناکام رن پڑھیں۔ اس کی “کیا کرنا ہے” والی سطر اگلا قدم ہے۔ نیچے کی جدول وہ ناکامیاں دکھاتی ہے جن کا آپ کو سب سے زیادہ سامنا ہو سکتا ہے۔
  2. اگر اس میں “Nothing” (کچھ نہیں) لکھا ہو تو انتظار کریں۔ اگلا شیڈول شدہ رن خود بحال ہو جاتا ہے۔
  3. اگر اس میں سنک دوبارہ چلانے کا کہا گیا ہو، تو View DLQ کے تحت ناکام رن پر Retry دبائیں۔ دوبارہ کوشش محفوظ cursor سے شروع ہوتی ہے، اس لیے پہلے سے لکھے گئے بیچ دوبارہ نہیں لکھے جاتے۔ کامیاب دوبارہ کوشش ناکام رن کو فہرست سے ہٹا دیتی ہے۔
  4. اگر سنک روک دیا گیا ہو، تو بینر میں بتائی گئی وجہ ٹھیک کریں، پھر Publish sync یا Request publish approval سے سنک کو دوبارہ شائع کریں۔
  5. اگر وہی ناکامی دوبارہ آئے، تو ناکام رن کے نیچے دکھائی گئی رن id ہمیں بھیجیں۔

ہر ناکامی کا نام ایک جملے سے جڑا ہے کہ کیا ہوا، ایک جملے سے کہ آگے کیا کرنا ہے، اور اس سے کہ اسے کون ٹھیک کرتا ہے: آپ یا Tajo۔

ناکامی کا نامکیا ہواکیا کریںکون ٹھیک کرتا ہے
lease_conflictاس سنک کا ایک اور رن پہلے سے جاری تھا۔کچھ نہیں۔ جاری رن مکمل ہو جائے گا؛ اگلا شیڈول شدہ رن معمول کے مطابق شروع ہوگا۔Tajo
lease_lostرن نے درمیان میں اپنی جگہ کھو دی اور دو بار لکھنے سے بچنے کے لیے رک گیا۔سنک دوبارہ چلائیں۔Tajo
lease_unavailableسنک اپنے رن کی جگہ محفوظ نہیں کر سکا۔سنک دوبارہ چلائیں۔ اگر وہ اسی طرح ناکام ہو تو رن id ہمیں بھیجیں۔Tajo
stale_job_sweptرن نے پیش رفت کی اطلاع دینا بند کر دی اور اسے بند کر دیا گیا۔سنک دوبارہ چلائیں۔Tajo
provider_rate_limitedدوسرے سسٹم نے ہمیں رفتار کم کرنے کو کہا۔کچھ نہیں۔ اگلے شیڈول شدہ رن کا انتظار کریں۔Tajo
provider_unavailableدوسرا سسٹم دستیاب نہیں تھا یا اس نے وقت پر جواب نہیں دیا۔کچھ نہیں۔ اگلے شیڈول شدہ رن کا انتظار کریں۔ اگر وہ ایک دن تک اسی طرح ناکام ہو تو رن id ہمیں بھیجیں۔Tajo
connection_missingسنک جو ٹول استعمال کرتا ہے وہ اس ورک اسپیس میں منسلک نہیں ہے؛ رن اس کا نام بتاتا ہے۔اسے منسلک کریں، پھر سنک دوبارہ چلائیں۔آپ
connection_unauthorizedدوسرے سسٹم نے ہماری رسائی مسترد کر دی۔کنکشن کو دوبارہ منسلک کریں تاکہ اسے نئی اجازت ملے، پھر سنک دوبارہ چلائیں۔آپ
destination_rejectedمنزل نے اس رن کے تمام ریکارڈز مسترد کر دیے۔فیلڈ میپنگ کو منزل کے لازمی فیلڈز اور فارمیٹس سے ملا کر دیکھیں، پھر سنک دوبارہ چلائیں۔آپ
node_failedریکارڈز پڑھتے، تبدیل کرتے یا لکھتے ہوئے سنک کا ایک مرحلہ ناکام ہو گیا۔رن کھول کر دیکھیں کہ کون سا مرحلہ اور کیوں ناکام ہوا، اسے ٹھیک کریں، پھر سنک دوبارہ چلائیں۔آپ
attestation_rule_not_activeیہ سنک رکا ہوا ہے۔اسے چلانے کے لیے سنک دوبارہ جاری کریں۔آپ
attestation_publication_not_attestedسنک کا یہ ورژن شائع نہیں ہوا۔سنک شائع کریں۔ سنک میں تبدیلیاں شائع ہونے تک نہیں چلتیں۔آپ
unclassified_exceptionسنک ایسی وجہ سے ناکام ہوا جسے ہم نے ابھی درجہ بند نہیں کیا۔سنک دوبارہ چلائیں۔ اگر وہ اسی طرح ناکام ہو تو رن id ہمیں بھیجیں۔Tajo

کیا غلط ہو سکتا ہے

  • Retry جواب دیتا ہے “This sync rule is already running.” جب تک سنک کا کوئی بھی رن Queued یا Running دکھائی دے، آپ کی شروع کی گئی دوبارہ کوشش یا ٹیسٹ رن مسترد ہو جاتا ہے، اس رن سمیت جس کا worker رک گیا ہو۔ جس سنک کو Tajo شیڈول پر چلاتا ہے، اس میں وہ رن ایک گھنٹے سے زیادہ پہلے شروع ہونے پر بند کر کے بدل دیا جاتا ہے۔ کسی اور سنک کے لیے رن id ہمیں بھیجیں۔
  • کوئی سنک سات دن سے زیادہ ناکام رہا۔ سات دن بعد لیجر مکمل شدہ تحریر کو بھول جاتا ہے۔ اس کے بعد دوبارہ چلایا گیا بیچ ریکارڈز دوبارہ لکھ سکتا ہے، اس لیے منزل میں ڈپلیکیٹ رابطے چیک کریں۔
  • ایک سنک خاموش ہے جبکہ دوسرا کام کر رہا ہے۔ ہر گھنٹے کی جانچ ورک اسپیس کو دیکھتی ہے، ہر سنک کو نہیں۔ ایک درست سنک اسی ورک اسپیس کے خاموش سنک کو چھپا دیتا ہے، اس لیے ہر سنک کی Run history پڑھیں۔
  • آپ مختلف حدیں چاہتے ہیں۔ پانچ ناکامیوں کے بعد وقفہ اور 24 گھنٹے کی جانچ پوری Tajo تنصیب کے لیے مقرر ہیں، ہر سنک کے لیے الگ نہیں۔

متعلقہ مضامین

یہ صفحہ Markdown میں: recover-a-stuck-or-failed-sync.md

Markdown لوڈ ہو رہا ہے…
Claude میں کھولیں ChatGPT میں کھولیں