

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Migrer de KCL 3.x vers un format de table unique
<a name="kcl-migration-from-3-3-5"></a>

Si vous exécutez KCL 3.x avec les trois tables de métadonnées DynamoDB (table des baux, table des métriques du personnel et table de l'état des coordinateurs), vous pouvez migrer vers un format de table unique pour consolider toutes les métadonnées dans la table des baux.

**Conditions préalables**
+ Votre application exécute KCL 3.x avec les trois tables de métadonnées.
+ Votre application est stable et tous les travailleurs sont en bonne santé.
+ Votre application a terminé la migration vers KCL 3.x et ne se configure pas. `CoordinatorConfig.clientVersionConfig` N'effectuez pas la migration de table et la migration de la version client de la version 2.x vers la version 3.x en même temps.

**Pour migrer de KCL 3.x vers le format de table unique, suivez le processus de déploiement en deux phases**  


1. **Phase 1 :** mettez à jour la dépendance de votre projet vers KCL 3.5 ou version ultérieure. Déployez avec `migrateAllEntitiesToLeaseTable` set to `false` (valeur par défaut). Ce déploiement installe le nouveau code qui prend en charge le format de table unique mais n'active pas la migration.

1. Attendez que le déploiement soit terminé sur tous les travailleurs. Surveillez l'entrée de l'État du `TableMigration3.5` coordinateur jusqu'à ce qu'il soit `TableMigrationStatus` atteint`DEPLOYED`. Vérifiez qu'il n'y a pas de régressions et attendez un temps de cuisson suffisant.

1. **Phase 2 :** redéployer avec `migrateAllEntitiesToLeaseTable` set to`true`. Ce déploiement commence la migration vers le format de table unique.

1. Surveillez le`TableMigrationStatus`. Le travailleur principal fait progresser l'état en passant par DEPLOYED, PENDING et COMPLETE.

1. Lorsque le statut atteint COMPLETE, vérifiez qu'il n'y a pas de régressions et attendez un temps de cuisson supplémentaire pour vous assurer qu'aucune annulation n'est nécessaire.

1. Supprimez manuellement les anciennes statistiques des travailleurs et les tables d'état des coordinateurs. KCL ne supprime pas ces tables automatiquement ; il cesse simplement de les utiliser. Si vous avez configuré `CoordinatorConfig.coordinatorStateTableConfig` ou`LeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig`, vous pouvez supprimer ces configurations car elles sont obsolètes.

**Important**  
N'annulez pas votre application une fois que la migration a atteint l'état COMPLET. Une fois TERMINÉ, l'application fonctionne exclusivement en mode table unique. Même une restauration du code vers la phase 1 ne revient pas à plusieurs tables : la configuration est ignorée et l'application continue d'utiliser uniquement la table des baux.

Pour plus de détails sur les états de migration et les options de restauration, consultez[Format de table unique pour KCL](kcl-single-table-format.md).