

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Migrar do KCL 3.x para o formato de tabela única
<a name="kcl-migration-from-3-3-5"></a>

Se você executar o KCL 3.x com todas as três tabelas de metadados do DynamoDB (tabela de lease, tabela de métricas do trabalhador e tabela de estado do coordenador), poderá migrar para o formato de tabela única para consolidar todos os metadados na tabela de lease.

**Pré-requisitos**
+ Seu aplicativo executa o KCL 3.x com todas as três tabelas de metadados.
+ Seu aplicativo é estável e todos os funcionários estão saudáveis.
+ Seu aplicativo concluiu a migração do KCL 3.x e não está configurado. `CoordinatorConfig.clientVersionConfig` Não execute a migração da tabela e a migração da versão do cliente de 2.x para 3.x ao mesmo tempo.

**Para migrar do KCL 3.x para o formato de tabela única, siga o processo de implantação em duas fases**  


1. **Fase 1:** Atualize a dependência do projeto para o KCL 3.5 ou posterior. Implante com `migrateAllEntitiesToLeaseTable` definido como `false` (o padrão). Essa implantação instala o novo código que oferece suporte ao formato de tabela única, mas não ativa a migração.

1. Aguarde até que a implantação seja concluída em todos os trabalhadores. Monitore a entrada estadual do `TableMigration3.5` coordenador até `TableMigrationStatus` chegar`DEPLOYED`. Verifique se não há regressões e aguarde um tempo de cozimento suficiente.

1. **Fase 2:** implante novamente com `migrateAllEntitiesToLeaseTable` definido como`true`. Essa implantação inicia a migração para o formato de tabela única.

1. Monitore `TableMigrationStatus` o. O trabalhador líder avança no estado por meio de IMPLANTADO, PENDENTE e COMPLETO.

1. Depois que o status atingir CONCLUÍDO, verifique se não há regressões e aguarde mais tempo de cozimento para garantir que nenhuma reversão seja necessária.

1. Exclua manualmente as métricas antigas do trabalhador e as tabelas de estado do coordenador. O KCL não exclui essas tabelas automaticamente — ele apenas para de usá-las. Se você configurou `CoordinatorConfig.coordinatorStateTableConfig` ou`LeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig`, você pode remover essas configurações, pois elas estão obsoletas.

**Importante**  
Não reverta seu aplicativo depois que a migração atingir o estado COMPLETO. Depois de CONCLUÍDO, o aplicativo opera exclusivamente no modo de tabela única. Mesmo uma reversão de código para a Fase 1 não retorna para várias tabelas — a configuração é ignorada e o aplicativo continua usando somente a tabela de leasing.

Para obter detalhes sobre estados de migração e opções de reversão, consulte. [Formato de tabela única para KCL](kcl-single-table-format.md)