<@U04S8PLJWMT> Encontrei um bug no `pod-sweeper....
# replication-ask-ai
t
@kapa.ai Encontrei um bug no
pod-sweeper.sh
rodando no GKE e queria saber se isso já é conhecido / rastreado em algum lugar. Ambiente: Airbyte self-hosted v1.4.1 (helm chart), cluster GKE com Image Streaming habilitado (node pool com kubelet recente). Causa raiz: o kubelet do GKE agora injeta uma PodCondition sintética chamada ImageStreaming como conditions[0], sempre com lastTransitionTime: null — não é uma condição de ciclo de vida real, é só informativa. O pod-sweeper.sh lê conditions[0].lastTransitionTime e cai no fallback do bash ${POD_DATE_STR:-$POD_START_DATE_STR} quando está vazio — só que a string literal "null" não é tratada como vazia por esse fallback, então POD_DATE_STR acaba sendo literalmente "null", o date -d null falha, e o sweeper nunca envelhece o pod. Resultado: os pods acumulam no namespace em vez de serem limpos. Proposta de fix :
Copy code
[ "$POD_DATE_STR" = "null" ] && POD_DATE_STR=""
[ "$POD_START_DATE_STR" = "null" ] && POD_START_DATE_STR=""
POD_DATE=`date -d ${POD_DATE_STR:-$POD_START_DATE_STR} '+%s'`
Isso já é um problema conhecido? Já existe fix original ou alguma versão que resolve?
k
Thinking completed Lamento, mas as fontes de conhecimento fornecidas não contêm informações específicas sobre esse bug no script
pod-sweeper.sh
relacionado ao
ImageStreaming
do GKE, nem sobre correções existentes para essa falha pontual de parsing de data no script bash. No entanto, há informações relevantes sobre a evolução da arquitetura do `pod-sweeper`: 1. Descontinuação do chart
pod-sweeper
baseado em bash/kubectl:
O chart separado do
pod-sweeper
deixou de ser publicado/incluído nas versões mais recentes do Helm chart do Airbyte (com a última versão lançada sendo da linha v1.5.x, deixando de existir na v1.8.x) [Bitnami catalog impacting Airbyte]. 2. Migração para o `workload-launcher`: A lógica de limpeza de pods foi portada internamente para o componente
workload-launcher
em Java (
io.airbyte.workload.launcher.PodSweeper
), que gerencia os ciclos de limpeza periódicos dos pods diretamente pela API do Kubernetes, sem depender dos scripts bash/kubectl legados [Replication pod creation fails; All sync jobs hanging indefinitely]. Para versões que ainda utilizam o script bash legado, sua proposta de sanitização da string
"null"
é uma solução de contorno válida. Caso queira verificar ou relatar oficialmente esse comportamento no script legado, recomenda-se abrir ou pesquisar por uma issue diretamente no repositório do GitHub do Airbyte. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.