Quero solucionar minha tarefa do AWS Database Migration Service (AWS DMS) que foi interrompida e não é repetida.
Resolução
O AWS DMS é um serviço gerenciado projetado para se autorrecuperar. Quando ocorrem problemas, o AWS DMS tenta corrigir o problema e, em seguida, retoma a operação. Se a migração parar e não tentar novamente, você poderá receber um erro fatal ou recuperável.
Erros fatais
Se o AWS DMS encontrar um erro que interrompa a migração do AWS DMS, a tarefa será interrompida e entrará em um estado de FALHA. Você pode receber um erro fatal devido a um dos seguintes problemas:
- Você não configurou o endpoint de origem. O endpoint de origem é um pré-requisito para a migração.
- A instância de replicação do AWS DMS não busca objetos de origem do banco de dados de origem.
Nos logs de tarefas, você pode receber uma mensagem de erro semelhante à seguinte:
“2022-05-28T16:07:35 [TASK_MANAGER ]E: Task ‘K7YJOFK7GYXIK44C2KLGFNG7ZONLZGPWPD5RWHA’ encountered a fatal error”
Quando o AWS DMS encontra um erro fatal, ele tenta reiniciar 6 vezes. Se sua tarefa não estiver sendo repetida, o AWS DMS concluiu as 6 reinicializações.
Erros recuperáveis
No AWS DMS, todos os erros de ambiente são recuperáveis. Se uma tarefa ou instância de replicação encontrar um erro de ambiente, a tarefa será interrompida. A tarefa é recuperada e, em seguida, é repetida. Veja a seguir exemplos de um erro recuperável:
- A conectividade da instância de replicação do AWS DMS com o banco de dados de origem ou de destino é interrompida.
- A instância de replicação foi reiniciada para manutenção.
Nos logs de tarefas, você pode receber uma mensagem de erro semelhante à seguinte:
“Last Error Task error notification received from subtask 0, thread 0 [reptask/replicationtask.c:2673] [1022502] Stop Reason RECOVERABLE_ERROR Error Level RECOVERABLE”
Por padrão, uma tarefa com um erro recuperável tenta ser reiniciada. O parâmetro RecoverableErrorCount define o número máximo de tentativas para reiniciar uma tarefa quando o AWS DMS encontra um erro de ambiente. Depois que o sistema tentar reiniciar a tarefa pelo número designado de vezes, a tarefa será interrompida e será necessária uma intervenção manual. Para obter mais informações, consulte Configurações de tarefas de tratamento de erros.
Se um erro recuperável fizer com que uma tarefa seja interrompida e a tarefa não tente mais, verifique se RecoverableErrorCount está definido com um valor personalizado.
Observação: se RecoverableErrorCount estiver definido como valor 0, a tarefa não será reiniciada.
Além disso, verifique se a instância de replicação está inativa.
Se as seguintes configurações de valor diferirem dos valores padrão, a tarefa do AWS DMS pode não ser repetida:
"ErrorBehavior": {
"FailOnNoTablesCaptured": false,
"ApplyErrorUpdatePolicy": "LOG_ERROR",
"FailOnTransactionConsistencyBreached": false,
"RecoverableErrorThrottlingMax": 1800,
"DataErrorEscalationPolicy": "SUSPEND_TABLE",
"ApplyErrorEscalationCount": 0,
"RecoverableErrorStopRetryAfterThrottlingMax": false,
"RecoverableErrorThrottling": true,
"ApplyErrorFailOnTruncationDdl": false,
"DataTruncationErrorPolicy": "LOG_ERROR",
"ApplyErrorInsertPolicy": "LOG_ERROR",
"EventErrorPolicy": "IGNORE",
"ApplyErrorEscalationPolicy": "LOG_ERROR",
"RecoverableErrorCount": -1,
"DataErrorEscalationCount": 0,
"TableErrorEscalationPolicy": "STOP_TASK",
"RecoverableErrorInterval": 5,
"ApplyErrorDeletePolicy": "IGNORE_RECORD",
"TableErrorEscalationCount": 0,
"FullLoadIgnoreConflicts": true,
"DataErrorPolicy": "LOG_ERROR",
"TableErrorPolicy": "SUSPEND_TABLE"
},
Observação: as configurações com o valor STOP_TASK requerem intervenção manual.
Informações relacionadas
Solução de problemas de tarefas de migração no AWS Database Migration Service