Kérj korai hozzáférést

Adja meg keresztnevét és e-mail-címét. Küldünk egy hivatkozást, amellyel megerősítheti a Tajo-hozzáférési kérelmét.

Kezdő 6 perc

Elakadt vagy sikertelen szinkronizálás helyreállítása

Mit tesz a Tajo magától, amikor egy worker leáll vagy egy szinkronizálási futás sikertelen, mit mutat a szinkronizálás oldala, és mikor kell neked lépned: újrapróbálás, újracsatlakoztatás, a leképezés javítása vagy újbóli közzététel.

Egy szinkronizálási futás félúton leállhat, mert egy worker újraindul, a másik rendszer nem elérhető, vagy egy rekordot elutasítanak. Egy leállt worker vagy egy átmeneti kiesés után a Tajo magától folytatja a szinkronizálást. Az elmúlt hét napban kiírt rekordokat nem küldi újra. Ez az oldal leírja, mit tesz, mit látsz a szinkronizálás oldalán, és azt a néhány esetet, amikor neked kell lépned.

Gyors ellenőrzés Nyisd meg a szinkronizálást a Connections alatti Syncs and mappings felől, és olvasd el a legújabb futást a Run history listában. A sikertelen futás megmondja, mi történt, és mi a teendő.

Amit a Tajo magától elvégez

A kurzor. Egy futás kötegekben olvassa a forrását, a szinkronizálás mentett kurzorától kezdve. A kurzor egy köteg végén csak akkor lép tovább, ha a köteg minden rekordja megérkezett. Ha a futás sikertelen, megmarad az utolsó pozíció, ameddig hiba nélkül eljutott. A következő futás onnan indul, így a megszakadt köteget újra beolvassa, és nem ugorja át.

A kézbesítési napló. Mielőtt egy rekord kiírásra kerül, kézbesítési kulcsot kap. A kulcs a szinkronizálás, a forrás, az oldalkurzor, a rekord oldalon belüli pozíciója és maga a rekord hash-e, így nem tartalmaz személyes adatot. A célrendszer meghívása előtt a kulcsot lefoglaljuk. Ha az írás sikerül, a kulcsot befejezettként jelöljük, és hét napig megőrizzük. A kulcs nem függ attól, melyik futás kéri, így egy újrapróbálás vagy egy későbbi ütemezett futás ugyanahhoz a rekordhoz ugyanazt a kulcsot kapja. E hét napon belül a mentett eredményt használjuk, és a célrendszert nem hívjuk meg újra. Ezért nem érkezik meg kétszer egy újrajátszott köteg.

Egyszerre egy futás. Minden szinkronizálásnak egy bérlete van, amelyet a folyamatban lévő futás a teljes élettartama alatt birtokol. A bérletnek saját tokenje és 15 perces élettartama van, amelyet a futás 5 percenként megújít, amíg dolgozik. Az a futás, amely elveszíti a bérletét, a következő írása vagy ellenőrzőpontja előtt leáll, hogy ne írjon kétszer. Amikor egy worker leáll, a bérletét már senki nem újítja meg, és 15 percen belül lejár.

Automatikus újrapróbálás. Egy sorba állított futás, amely sikertelen, legfeljebb öt próbálkozást kap. A Tajo 60 másodpercet vár a második próbálkozás előtt, aztán 120, 240 és 480 másodpercet. Az általad indított újrapróbálás vagy tesztfutás egyszer fut le. Nem próbáljuk újra azt a futást, amely egy már folyamatban lévő futással ütközött, és azt sem, amelynek közzétett verziója vagy kapcsolatai már nem érvényesek.

Elakadt futások. Ha a Tajo ütemezetten futtatja a szinkronizálást, egy futást lezár, és újat állít sorba, amint az több mint egy órája indult, és már nem birtokolja a bérletét. A lezárt futáson ez áll: “The run stopped reporting progress and was closed.” (a futás nem jelentett több haladást, ezért lezártuk). Egy leállt futás bérlete tehát legfeljebb 15 percig tart, egy ütemezett szinkronizálás elakadt futását pedig egy óra után lecseréljük. Az adatszinkronizálás megértése felsorolja, mely szinkronizálások futnak ütemezetten.

Szüneteltetés ismétlődő hibák után. Ha a szinkronizálás utolsó módosítása óta befejezett utolsó öt futás mind sikertelen volt, a Tajo szünetelteti a szinkronizálást. Az oldalán ez látszik: “Paused automatically by the failure circuit breaker” (a hibamegszakító automatikusan szüneteltette), az utolsó hibával együtt. Egyetlen sikeres futás nullázza a számlálót. Semmi nem indítja újra magától a szüneteltetett szinkronizálást: addig szünetel, amíg el nem hárítod az okot, és újra közzé nem teszed.

Az óránkénti ellenőrzés. A Tajo minden órában, 13 perccel az egész óra után riasztja a saját csapatát minden olyan munkaterületről, amelyben van aktív szinkronizálás, de az elmúlt 24 órában egyetlen futás sem volt sikeres. Ide tartozik az a munkaterület is, ahol egyáltalán nem rögzítettek futást. A riasztás egyszer szól, és csak egy sikeres futás után szólhat újra. Azt a munkaterületet, amelynek legrégebbi aktív szinkronizálását kevesebb mint 24 órája kapcsolták be vagy módosították, még nem ellenőrizzük. Ez a riasztás a Tajóhoz jut el, nem hozzád, és nem változtat a szinkronizálásodon.

Amit látsz

Nyisd meg a szinkronizálást a Syncs and mappings felől. A Run history minden futást felsorol: a kiírt és a beolvasott rekordok számát, a sikertelenek számát, az időtartamot és a kezdés idejét. Az állapota Queued, Running, Succeeded, Partial (néhány rekord sikertelen) vagy Failed.

  • Az a futó futás, amely 2 perce nem jelentett haladást, ezt mutatja: “Waiting for a fresh progress update” (friss haladási adatra vár).
  • A sikertelen futás egy mondatban leírja, mi történt, egy mondatban, mi a teendő, valamint a hiba nevét és a futás azonosítóját.
  • A Syncs oldalon a View DLQ az összes szinkronizálás sikertelen és részleges futásait sorolja fel, mindegyiket egy Retry gombbal.

Mit tegyél

  1. Olvasd el a legújabb sikertelen futást. A „mi a teendő” sora a következő lépés. Az alábbi táblázat a leggyakrabban előforduló hibákat sorolja fel.
  2. Ha ez áll benne: “Nothing”, várj. A következő ütemezett futás magától helyreáll.
  3. Ha azt írja, hogy futtasd újra a szinkronizálást, nyomd meg a Retry gombot a sikertelen futásnál a View DLQ alatt. Az újrapróbálás a mentett kurzortól indul, így a már kiírt kötegeket nem írja ki újra. A sikeres újrapróbálás leveszi a sikertelen futást a listáról.
  4. Ha a szinkronizálás szünetel, hárítsd el a szalagon megnevezett okot, majd tedd közzé újra a szinkronizálást a Publish sync vagy a Request publish approval gombbal.
  5. Ha ugyanaz a hiba visszatér, küldd el nekünk a sikertelen futás alatt látható futásazonosítót.

Minden hibanévhez tartozik egy mondat arról, mi történt, egy arról, mi a teendő, és az, hogy ki javítja: te vagy a Tajo.

HibanévMi történtMi a teendőKi javítja
lease_conflictA szinkronizálás egy másik futása már folyamatban volt.Semmi. A folyamatban lévő futás befejeződik; a következő ütemezett futás rendben elindul.Tajo
lease_lostA futás menet közben elvesztette a helyét, és leállt, hogy ne írjon kétszer.Futtasd újra a szinkronizálást.Tajo
lease_unavailableA szinkronizálás nem tudta lefoglalni a futási helyét.Futtasd újra a szinkronizálást. Ha ugyanúgy sikertelen, küldd el nekünk a futásazonosítót.Tajo
stale_job_sweptA futás nem jelentett több haladást, ezért lezártuk.Futtasd újra a szinkronizálást.Tajo
provider_rate_limitedA másik rendszer lassításra kért minket.Semmi. Várd meg a következő ütemezett futást.Tajo
provider_unavailableA másik rendszer nem volt elérhető, vagy nem válaszolt időben.Semmi. Várd meg a következő ütemezett futást. Ha egy napig ugyanúgy sikertelen, küldd el nekünk a futásazonosítót.Tajo
connection_missingA szinkronizálás által használt egyik eszköz nincs csatlakoztatva ezen a munkaterületen; a futás megnevezi.Csatlakoztasd, majd futtasd újra a szinkronizálást.Te
connection_unauthorizedA másik rendszer elutasította a hozzáférésünket.Csatlakoztasd újra a kapcsolatot, hogy friss engedélyt kapjon, majd futtasd újra a szinkronizálást.Te
destination_rejectedA célrendszer ennek a futásnak minden rekordját elutasította.Vesd össze a mezőleképezést a célrendszer kötelező mezőivel és formátumaival, majd futtasd újra a szinkronizálást.Te
node_failedA szinkronizálás egyik lépése sikertelen volt a rekordok olvasása, átalakítása vagy írása közben.Nyisd meg a futást, nézd meg, melyik lépés és miért volt sikertelen, javítsd ki, majd futtasd újra a szinkronizálást.Te
attestation_rule_not_activeEz a szinkronizálás szünetel.Folytasd a szinkronizálást, hogy lefuthasson.Te
attestation_publication_not_attestedA szinkronizálás ezen verzióját nem tették közzé.Tedd közzé a szinkronizálást. A szinkronizálás módosításai csak közzététel után futnak.Te
unclassified_exceptionA szinkronizálás olyan okból volt sikertelen, amelyet még nem soroltunk be.Futtasd újra a szinkronizálást. Ha ugyanúgy sikertelen, küldd el nekünk a futásazonosítót.Tajo

Mi romolhat el

  • A Retry válasza: “This sync rule is already running.” (ez a szinkronizálási szabály már fut). Az általad indított újrapróbálást vagy tesztfutást elutasítjuk, amíg a szinkronizálás bármely futása Queued vagy Running állapotban látszik, beleértve azt a futást is, amelynek a workere leállt. Ha a Tajo ütemezetten futtatja a szinkronizálást, ezt a futást lezárja és lecseréli, amint több mint egy órája indult. Bármely más szinkronizálásnál küldd el nekünk a futásazonosítót.
  • Egy szinkronizálás több mint hét napig sikertelen. Hét nap után a napló elfelejti a befejezett írást. Az ezután újrajátszott köteg újra kiírhat rekordokat, ezért ellenőrizd a célrendszerben a duplikált kapcsolatokat.
  • Az egyik szinkronizálás hallgat, miközben a másik működik. Az óránkénti ellenőrzés a munkaterületet figyeli, nem az egyes szinkronizálásokat. Egy egészséges szinkronizálás elrejti az ugyanazon a munkaterületen hallgató másikat, ezért olvasd el minden szinkronizálás Run history listáját.
  • Más korlátokat szeretnél. Az öt hiba utáni szüneteltetés és a 24 órás ellenőrzés a teljes Tajo telepítésre van beállítva, nem szinkronizálásonként.

Kapcsolódó cikkek

Ez az oldal Markdownként: recover-a-stuck-or-failed-sync.md

Markdown betöltése…