Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Lambda function reaches max timeout limit (5min) in diff_zones()

Aberta
#8 0 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
30/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
aws, python
Domínio
backend, cloud

Direção de pesquisa

Comece fazendo o profiling de diff_zones() durante o processamento de uma zone com aproximadamente 43.500 records, com foco na travessia e na comparação dos nós e records de dns.zone.Zone antes do loop differences. Confirme que a solicitação AXFR não é o gargalo e defina como concluído gerar a lista de differences sem atingir o timeout de cinco minutos do Lambda; update_resource_record() só é alcançada depois disso.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

When running this Lambda function to mirror a zone containing a large amount of DNS records (~43500), it reaches max Lambda timeout limit of 5 minutes inside function diff_zones().

The DNS AXFR request returns within 500 to 1000 milliseconds with dig, returning the 40k records very fast. The problem lies in the python code which needs to parse through all the dns.zone.Zone nodes, records, etc... and diff them to build the differences list.

The code never even gets to the looping over differences and running update_resource_record() to make changes to Route53.

It's hard to believe that the python code is so slow to generate a list of DNS zone differences. I can imagine a simple bash script using dig and diff that would be much more efficient to perform the same function for this portion of the Lambda code.

Linguagem predominante
Python
Estrelas
41
Forks
28
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de aws-samples/aws-lambda-mirror-dns-function

Todas as issues de aws-samples/aws-lambda-mirror-dns-function

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.