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á.
Reverter para a versão anterior da KCL
Este tópico explica as etapas para reverter seu consumidor KCL 3.5.x para a versão anterior. O processo de reversão depende da fase de migração em que seu aplicativo está atualmente.
Importante
A Ferramenta de Migração KCL só é necessária ao reverter da Fase 2 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X) para a Fase 1 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1). Se seu aplicativo ainda estiver na Fase 1, você poderá reverter para sua versão anterior da KCL reimplantando seu código anterior sem executar a ferramenta.
Reverter da Fase 1 para a versão anterior do KCL
Se seu aplicativo estiver na Fase 1 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1), você poderá reverter para sua versão anterior da KCL reimplantando seu código anterior. A fase 1 é retrocompatível com as versões anteriores da KCL e não cria nenhuma entrada específica de migração na tabela de leasing. Nenhuma ferramenta de migração é necessária.
Para reverter da Fase 1:
-
Reimplante o código com sua versão anterior da KCL para todos os trabalhadores.
Reverter da Fase 2 para a Fase 1
Se seu aplicativo estiver na Fase 2 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X), você deverá usar a Ferramenta de Migração KCL para reverter para a Fase 1. Este é um processo em duas etapas:
-
Execute a Ferramenta de Migração da KCL
. -
Reimplante o código com a configuração da Fase 1 (opcional).
Importante
Você não pode reverter dois níveis (da Fase 2 para a Fase 1 e depois para a versão anterior da KCL). A Ferramenta de Migração KCL lida apenas com a reversão da Fase 2 para a Fase 1.
nota
A Ferramenta de migração da KCL não exclui entradas que não sejam de concessão da tabela de concessão. Essas entradas não são retrocompatíveis com as versões anteriores da KCL, e é por isso que uma reversão de dois níveis da Fase 2 diretamente para uma versão anterior da KCL não é possível.
Etapa 1: executar a Ferramenta de Migração da KCL
Quando você precisar reverter da Fase 2 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X) para a Fase 1, execute a Ferramenta de Migração KCL. A ferramenta executa as seguintes tarefas:
-
Ele remove o Global Secondary Index (LeaseOwnerToLeaseKeyIndex) na tabela de leasing no DynamoDB. Esse índice é criado pelo KCL 3.5.x, mas não é necessário quando você volta para a Fase 1.
-
Isso faz com que todos os trabalhadores funcionem em um modo compatível com o KCL 2.x e comecem a usar o algoritmo de balanceamento de carga usado nas versões anteriores do KCL. Se você tiver problemas com o novo algoritmo de balanceamento de carga no KCL 3.5.x, isso atenua o problema imediatamente.
Importante
A entrada do estado do coordenador (Migration3.0) na tabela de concessão não deve ser excluída durante o processo de migração, reversão e reversão.
nota
Todos os trabalhadores em seu aplicativo de consumo devem usar o mesmo algoritmo de balanceamento de carga em um determinado momento. A Ferramenta de migração da KCL garante que todos os trabalhadores em seu aplicativo de consumo KCL 3.5.x mudem para o modo compatível com KCL 2.x, de modo que todos os trabalhadores executem o mesmo algoritmo de balanceamento de carga durante a reversão da implantação para a Fase 1.
Você pode baixar a Ferramenta de Migração KCL
python3 ./KclMigrationTool.py --region <region> --mode rollback [--application_name <applicationName>] [--lease_table_name <leaseTableName>]
Parâmetros
-
--region:
<region>substitua pelo seu Região da AWS. -
--application_name: Esse parâmetro é obrigatório se você estiver usando o nome padrão para sua tabela de locação. Se você tiver especificado um nome personalizado para a tabela de locação, poderá omitir esse parâmetro. Substitua
<applicationName>pelo nome real da aplicação da KCL. A ferramenta usa esse nome para derivar o nome padrão da tabela se um nome personalizado não for fornecido. -
--lease_table_name (opcional): esse parâmetro é necessário quando você define um nome personalizado para a tabela de concessões na configuração da KCL. Se você estiver usando o nome padrão da tabela, poderá omitir esse parâmetro. Substitua
<leaseTableName>pelo nome da tabela personalizada que você especificou para a tabela de concessões.
Etapa 2: reimplantar o código com a configuração da Fase 1 (opcional)
Depois de executar a Ferramenta de Migração KCL para uma reversão da Fase 2 para a Fase 1, você verá uma das seguintes mensagens:
-
Mensagem 1: “Reversão concluída. Seu aplicativo estava executando a funcionalidade da Fase 2 (compatível com 2x). Volte para a Fase 1 implantando seu aplicativo KCL 3.5.x com a configuração da Fase 1.”
-
Ação necessária: Seus trabalhadores estavam funcionando no modo Fase 2 (compatível com 2x). Reimplante seu aplicativo KCL 3.5.x com a configuração da Fase 1 (
CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1) para seus trabalhadores.
-
-
Mensagem 2: “Reversão concluída. Seu aplicativo KCL estava executando a funcionalidade da Fase 2 (3x) e foi revertido para o modo Fase 2 (compatível com 2x). Se você não vê mitigação após um curto período de tempo, reverta para a Fase 1 implantando seu aplicativo KCL 3.5.x com a configuração da Fase 1.”
-
Ação necessária: Seus trabalhadores estavam executando no modo Fase 2 (3x) e a Ferramenta de Migração KCL os reverteu para o modo Fase 2 (compatível com 2x). Se o problema for resolvido, você não precisará reimplantar. Se o problema persistir, reimplante seu aplicativo KCL 3.5.x com a configuração da Fase 1 ()
CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1para seus funcionários.
-