Perché la mia attività AWS DMS non viene riprovata?

3 minuti di lettura
0

Ho un'attività AWS Database Migration Service (AWS DMS) che è stata interrotta e non viene riprovata. Come posso riprendere le operazioni della mia attività AWS DMS?

Risoluzione

AWS DMS è un servizio gestito progettato per avere un comportamento di autoriparazione. Ciò significa che quando si verificano problemi, AWS DMS tenta di risolvere il problema e quindi di riprendere le operazioni senza che tu debba intraprendere alcuna azione. Tuttavia, ci sono alcune situazioni in cui la migrazione si interrompe e non viene ritentata.

Innanzitutto, è importante comprendere i due tipi di errori che è possibile riscontrare quando si utilizza AWS DMS:

  • Errori irreversibili
  • Errori reversibili

Errori irreversibili

Se AWS DMS rileva un errore che impedisce di procedere con la migrazione, l'attività viene interrotta ed entra in uno stato FAILED. Si tratta di un errore irreversibile. Alcuni esempi includono:

  • L'endpoint di origine non è configurato, il che è un prerequisito per la migrazione.
  • L'istanza di replica di AWS DMS non recupera gli oggetti di origine dal database di origine.

Nei registri delle attività vengono visualizzati messaggi simili al seguente:

«2022-05-28T 16:07:35 [TASK_MANAGER] E: L’attività 'K7YJOFK7GYXIK44C2KLGFNG7ZONLZGPWPD5RWHA' ha riscontrato un errore irreversibile»

Quando AWS DMS rileva un errore irreversibile, tenta di riavviarsi sei volte. Se l'attività non viene più tentata, probabilmente ha già completato questi tentativi.

Errori reversibili

AWS DMS considera tutti gli errori ambientali come errori reversibili. Pertanto, se un'attività o un'istanza di replica rileva un errore ambientale, l'attività viene interrotta ma si ripristina autonomamente e quindi viene eseguito un nuovo tentativo.

Esempi di errori reversibili includono:

  • La connettività dell'istanza di replica di AWS DMS al database di origine/destinazione viene interrotta.
  • Per motivi di manutenzione, l'istanza di replica è stata riavviata.

Nei registri delle attività vengono visualizzati messaggi simili al seguente:

«Notifica di errore Ultimo errore dell'attività ricevuta dalla sottoattività 0, thread 0 [reptask/replicationtask.c:2673] [1022502] Ragione arresto RECOVERABLE_ERROR Livello errore RECOVERABLE»

Per impostazione predefinita, un'attività con un errore reversibile verrà provata di nuovo, senza limiti di tentativi. L'impostazione RecoverableErrorCount controlla questo comportamento. Questo parametro imposta il numero massimo di tentativi effettuati da AWS DMS per riavviare un'attività quando rileva un errore ambientale. Dopo che il sistema tenta di riavviare l'attività un numero prestabilito di volte, l'attività si interrompe ed è necessario un intervento manuale. Il valore predefinito è -1, che indica ad AWS DMS di riavviare l'attività senza limiti di tentativi.

Se un errore reversibile provoca l'arresto di un'attività ed essa non viene più tentata, verificare se:

  • Il parametro RecoverableErrorCount è impostato su un valore personalizzato.
  • L'istanza di replica stessa è inattiva.

Verifica se altre impostazioni di valori non predefiniti impediscono nuovi tentativi

Se queste impostazioni sono impostate su un valore non predefinito, potrebbero impedire all'attività AWS DMS di eseguire nuovi tentativi:

"ErrorBehavior": {
        "FailOnNoTablesCaptured": false,
        "ApplyErrorUpdatePolicy": "LOG_ERROR",  --- can be set to STOP_TASK
        "FailOnTransactionConsistencyBreached": false,
        "RecoverableErrorThrottlingMax": 1800,
        "DataErrorEscalationPolicy": "SUSPEND_TABLE",  --- can be set to STOP_TASK
        "ApplyErrorEscalationCount": 0,
        "RecoverableErrorStopRetryAfterThrottlingMax": false,
        "RecoverableErrorThrottling": true,
        "ApplyErrorFailOnTruncationDdl": false,
        "DataTruncationErrorPolicy": "LOG_ERROR",  --- can be set to STOP_TASK
        "ApplyErrorInsertPolicy": "LOG_ERROR",  --- can be set to STOP_TASK
        "EventErrorPolicy": "IGNORE",
        "ApplyErrorEscalationPolicy": "LOG_ERROR",  --- can be set to STOP_TASK
        "RecoverableErrorCount": -1,
        "DataErrorEscalationCount": 0,
        "TableErrorEscalationPolicy": "STOP_TASK",
        "RecoverableErrorInterval": 5,
        "ApplyErrorDeletePolicy": "IGNORE_RECORD",  --- can be set to STOP_TASK
        "TableErrorEscalationCount": 0,
        "FullLoadIgnoreConflicts": true,
        "DataErrorPolicy": "LOG_ERROR",
        "TableErrorPolicy": "SUSPEND_TABLE"
    },

Informazioni correlate

Errore nella gestione delle impostazioni delle attività

Risoluzione dei problemi delle attività di migrazione in AWS Database Migration Service

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa