Por que LastTimestamp retorna -1 ao chamar a operação GetConsumerProgess?
O parâmetro LastTimestamp na resposta de GetConsumerProgess representa o timestamp em que o producer enviou originalmente a última mensagem consumida.
Possíveis causas para LastTimestamp retornar -1:
Os tópicos assinados não utilizam armazenamento em nuvem.
A versão do client do producer está desatualizada.
O consumer group foi criado automaticamente, e não registrado manualmente.
As seções a seguir descrevem cada causa e sua respectiva solução.
O tópico não utiliza armazenamento em nuvem
O suporte a LastTimestamp existe apenas para tópicos com armazenamento em nuvem. Caso seus tópicos assinados não usem esse tipo de armazenamento, a API retorna -1.
Como verifique: No console do ApsaraMQ for Kafka, verifique o tipo de armazenamento de cada tópico assinado pelo seu consumer group.
A versão do client do producer está desatualizada
Um client de producer desatualizado pode não incluir o timestamp de envio nas mensagens, resultando em tempo de envio null. Quando o tempo de envio é null, GetConsumerProgess retorna -1 para LastTimestamp.
Como verifique: Verifique a versão do seu client de producer. Se as mensagens forem enviadas sem timestamps, a versão do client está desatualizada.
Como corrigir: Atualize seu client de producer para a versão mais recente. Após a atualização, as novas mensagens incluem o timestamp de envio e LastTimestamp passa a retornar valores válidos.
O consumer group foi criado automaticamente
Se o consumer group tiver sido criado automaticamente, em vez de registrado manualmente, LastTimestamp não será retornado corretamente.
Como verifique: No console do ApsaraMQ for Kafka, verifique se o consumer group foi criado automaticamente ou registrado manualmente.
Como corrigir: Crie e registre um consumer group com o mesmo nome no console do ApsaraMQ for Kafka. Após o registro, LastTimestamp retorna o valor esperado.