Izvođenje sinkronizacije može stati na pola puta jer se worker ponovno pokreće, drugi sustav ne radi ili je zapis odbijen. Nakon zaustavljenog workera ili kratkotrajnog prekida Tajo sam nastavlja sinkronizaciju. Ne šalje ponovno zapise koje je upisao u posljednjih sedam dana. Ova stranica objašnjava što radi, što vidite na stranici sinkronizacije i nekoliko slučajeva u kojima trebate djelovati.
Brza provjera Otvorite sinkronizaciju iz Syncs and mappings u odjeljku Connections i pročitajte najnovije izvođenje u Run history. Neuspjelo izvođenje kaže što se dogodilo i što učiniti dalje.
Što Tajo radi sam
Kursor. Izvođenje čita svoj izvor u serijama, počevši od spremljenog kursora sinkronizacije. Kursor se na kraju serije pomiče samo ako je stigao svaki zapis iz te serije. Ako izvođenje ne uspije, čuva se posljednji položaj do kojeg je stiglo bez pogreške. Sljedeće izvođenje kreće odande, pa se prekinuta serija ponovno čita umjesto da se preskoči.
Registar isporuke. Prije nego što se zapis upiše, dobiva ključ isporuke. Ključ je hash sinkronizacije, izvora, kursora stranice, položaja zapisa na stranici i samog zapisa, pa ne sadrži osobne podatke. Prije poziva odredištu ključ se rezervira. Kada upisivanje uspije, ključ se označava kao dovršen i čuva sedam dana. Ključ ne ovisi o tome koje ga izvođenje traži, pa ponovni pokušaj ili kasnije zakazano izvođenje dobiva isti ključ za isti zapis. Unutar tih sedam dana koristi se spremljeni rezultat i odredište se ne poziva ponovno. Zato ponovljena serija ne stiže dvaput.
Jedno izvođenje u isto vrijeme. Svaka sinkronizacija ima jedan zakup, koji drži izvođenje u tijeku cijelo vrijeme svog trajanja. Zakup ima vlastiti token i trajanje od 15 minuta, koje se obnavlja svakih 5 minuta dok izvođenje radi. Izvođenje koje izgubi zakup staje prije sljedećeg upisivanja ili kontrolne točke, kako ne bi upisalo dvaput. Kada worker stane, njegov se zakup više ne obnavlja i istječe unutar 15 minuta.
Automatski ponovni pokušaji. Izvođenje iz reda čekanja koje ne uspije dobiva najviše pet pokušaja. Tajo čeka 60 sekundi prije drugog pokušaja, zatim 120, 240 i 480 sekundi. Ponovni pokušaj ili probno izvođenje koje sami pokrenete izvodi se jednom. Izvođenje koje se sudarilo s izvođenjem koje je već u tijeku ne ponavlja se. Ne ponavlja se ni izvođenje čija objavljena verzija ili veze više nisu valjane.
Zaglavljena izvođenja. Za sinkronizaciju koju Tajo izvodi prema rasporedu, izvođenje se zatvara i novo stavlja u red čekanja čim je započelo prije više od sat vremena i više ne drži svoj zakup. Zatvoreno izvođenje prikazuje “The run stopped reporting progress and was closed.” (izvođenje je prestalo javljati napredak i zatvoreno je). Zakup zaustavljenog izvođenja traje dakle najviše 15 minuta, a zaglavljeno izvođenje zakazane sinkronizacije zamjenjuje se nakon sat vremena. Razumijevanje sinkronizacije podataka navodi koje se sinkronizacije izvode prema rasporedu.
Pauza nakon ponovljenih neuspjeha. Ako nije uspjelo nijedno od posljednjih pet dovršenih izvođenja od posljednje promjene sinkronizacije, Tajo pauzira sinkronizaciju. Njezina stranica prikazuje “Paused automatically by the failure circuit breaker” (automatski pauzirano prekidačem za neuspjehe) s posljednjom pogreškom. Jedno uspješno izvođenje poništava brojač. Ništa samo od sebe ne pokreće pauziranu sinkronizaciju: ona ostaje pauzirana dok ne uklonite uzrok i ponovno je ne objavite.
Provjera svakog sata. Svakog sata, 13 minuta nakon punog sata, Tajo upozorava vlastiti tim na svaki radni prostor koji ima aktivnu sinkronizaciju i nijedno uspješno izvođenje u posljednja 24 sata. To uključuje i radni prostor u kojem nije zabilježeno nijedno izvođenje. Upozorenje se šalje jednom, a ponovno tek nakon što neko izvođenje uspije. Radni prostor čija je najstarija aktivna sinkronizacija uključena ili promijenjena prije manje od 24 sata još se ne provjerava. Ovo upozorenje stiže Taju, a ne vama, i ne mijenja vašu sinkronizaciju.
Što vidite
Otvorite sinkronizaciju iz Syncs and mappings. Run history navodi svako izvođenje s brojem upisanih od pročitanih zapisa, brojem neuspjelih, trajanjem i vremenom početka. Status izvođenja je Queued, Running, Succeeded, Partial (neki zapisi nisu uspjeli) ili Failed.
- Izvođenje u tijeku koje 2 minute nije javilo napredak prikazuje “Waiting for a fresh progress update” (čeka se novo ažuriranje napretka).
- Neuspjelo izvođenje prikazuje jednu rečenicu o tome što se dogodilo, jednu o tome što učiniti dalje, naziv neuspjeha i id izvođenja.
- View DLQ na stranici Syncs navodi neuspjela i djelomična izvođenja svih sinkronizacija, svako s gumbom Retry.
Što učiniti
- Pročitajte najnovije neuspjelo izvođenje. Njegov redak „što učiniti” sljedeći je korak. Tablica u nastavku navodi neuspjehe na koje ćete najvjerojatnije naići.
- Ako piše “Nothing”, pričekajte. Sljedeće zakazano izvođenje samo se oporavi.
- Ako kaže da ponovno pokrenete sinkronizaciju, pritisnite Retry na neuspjelom izvođenju u View DLQ. Ponovni pokušaj kreće od spremljenog kursora, pa se već upisane serije ne upisuju ponovno. Uspješan ponovni pokušaj uklanja neuspjelo izvođenje s popisa.
- Ako je sinkronizacija pauzirana, uklonite uzrok koji navodi natpis, a zatim ponovno objavite sinkronizaciju gumbom Publish sync ili Request publish approval.
- Ako se isti neuspjeh ponavlja, pošaljite nam id izvođenja prikazan ispod neuspjelog izvođenja.
Svaki naziv neuspjeha povezan je s jednom rečenicom o tome što se dogodilo, jednom o tome što učiniti dalje i s onim tko ga ispravlja: vi ili Tajo.
| Naziv neuspjeha | Što se dogodilo | Što učiniti | Tko ispravlja |
|---|---|---|---|
lease_conflict | Drugo izvođenje ove sinkronizacije već je bilo u tijeku. | Ništa. Izvođenje u tijeku će završiti; sljedeće zakazano izvođenje počinje normalno. | Tajo |
lease_lost | Izvođenje je usred rada izgubilo svoje mjesto i stalo kako ne bi upisalo dvaput. | Ponovno pokrenite sinkronizaciju. | Tajo |
lease_unavailable | Sinkronizacija nije mogla rezervirati svoje mjesto za izvođenje. | Ponovno pokrenite sinkronizaciju. Ako ne uspije na isti način, pošaljite nam id izvođenja. | Tajo |
stale_job_swept | Izvođenje je prestalo javljati napredak i zatvoreno je. | Ponovno pokrenite sinkronizaciju. | Tajo |
provider_rate_limited | Drugi sustav zatražio je da usporimo. | Ništa. Pričekajte sljedeće zakazano izvođenje. | Tajo |
provider_unavailable | Drugi sustav nije bio dostupan ili nije odgovorio na vrijeme. | Ništa. Pričekajte sljedeće zakazano izvođenje. Ako dan dulje ne uspijeva na isti način, pošaljite nam id izvođenja. | Tajo |
connection_missing | Alat koji sinkronizacija koristi nije povezan u ovom radnom prostoru; izvođenje ga navodi. | Povežite ga, a zatim ponovno pokrenite sinkronizaciju. | Vi |
connection_unauthorized | Drugi sustav odbio je naš pristup. | Ponovno povežite vezu kako bi dobila novu autorizaciju, a zatim ponovno pokrenite sinkronizaciju. | Vi |
destination_rejected | Odredište je odbilo sve zapise u ovom izvođenju. | Provjerite mapiranje polja prema obaveznim poljima i formatima odredišta, a zatim ponovno pokrenite sinkronizaciju. | Vi |
node_failed | Jedan korak sinkronizacije nije uspio tijekom čitanja, transformacije ili upisivanja zapisa. | Otvorite izvođenje da vidite koji korak nije uspio i zašto, ispravite to, a zatim ponovno pokrenite sinkronizaciju. | Vi |
attestation_rule_not_active | Ova sinkronizacija je pauzirana. | Nastavite sinkronizaciju da biste je izveli. | Vi |
attestation_publication_not_attested | Ova verzija sinkronizacije nije objavljena. | Objavite sinkronizaciju. Promjene sinkronizacije ne izvode se dok nisu objavljene. | Vi |
unclassified_exception | Sinkronizacija nije uspjela iz razloga koji još nismo razvrstali. | Ponovno pokrenite sinkronizaciju. Ako ne uspije na isti način, pošaljite nam id izvođenja. | Tajo |
Što može poći po zlu
- Retry odgovara “This sync rule is already running.” (ovo pravilo sinkronizacije već se izvodi). Ponovni pokušaj ili probno izvođenje koje pokrenete odbija se sve dok se neko izvođenje sinkronizacije prikazuje kao Queued ili Running, uključujući izvođenje čiji je worker stao. Za sinkronizaciju koju Tajo izvodi prema rasporedu to se izvođenje zatvara i zamjenjuje čim je započelo prije više od sat vremena. Za svaku drugu sinkronizaciju pošaljite nam id izvođenja.
- Sinkronizacija ne uspijeva dulje od sedam dana. Nakon sedam dana registar zaboravlja dovršeno upisivanje. Serija ponovljena nakon toga može ponovno upisati zapise, pa u odredištu provjerite ima li dupliciranih kontakata.
- Jedna sinkronizacija šuti dok druga radi. Provjera svakog sata prati radni prostor, a ne svaku sinkronizaciju. Jedna ispravna sinkronizacija skriva onu koja šuti u istom radnom prostoru, pa pročitajte Run history svake sinkronizacije.
- Želite druga ograničenja. Pauza nakon pet neuspjeha i provjera od 24 sata postavljene su za cijelu Tajo instalaciju, a ne po sinkronizaciji.