全部產品
Search
文件中心

ApsaraMQ for Kafka:為什麼消費位點到期了卻仍未被刪除?

更新時間:Dec 12, 2025

問題現象

2.2.0版本雲訊息佇列 Kafka 版服務端,某Group下的消費位點已經超過了我設定的消費位點保留時間,但卻未被刪除,還可以在雲訊息佇列 Kafka 版控制台Topic 详情頁面的订阅关系頁簽,查看目標Topic的消费详情

說明

消费位点保留时长是消費位點的最大保留時間長度,從提交消費位點的時間開始計算,超過該時間長度的消費位點將被刪除(注意,刪除消費位點並非消費位點置為0,而是無消費位點)。每向一個Topic分區提交一次消費位點,該消費位點的保留時間計時器就會被重設為0。更多資訊,請參見變更訊息配置

可能原因

根據開源Kafka的設計,活躍Group的消費位點超過了消費位點保留時間,該消費位點也不會被刪除。

說明

Group中,存在訂閱消費者(區別於assign)線程,則該Group是活躍Group。

例如,您建立了名為TestGroup的Group來訂閱TopicA,並成功提交了消費位點。由於業務調整,您取消訂閱TopicA,同時新訂閱了TopicB。此時,TestGroup處於活躍狀態,該Group在TopicA和TopicB上的消費位點都不會被刪除。

如果您只取消訂閱TopicA,同時沒有新訂閱TopicB,那麼TestGroup處於不活躍狀態。TestGroup在TopicA上的消費位點超過了保留時間會被刪除。

解決方案

如果您希望刪除已到期的消費位點,請參見以下操作進行處理:

  1. 斷開Group串連,將其處於不活躍狀態,請根據業務情況執行以下操作:

    • 等待消費位點到期。到期後,消費位點被自動刪除。

    • 可以通過控制台按分區重設位點方式將已到期消費位點重設到0。

    • 遷移到新的Group,然後讓原Group的所有消費線程處於非活躍狀態,待原Group消費位點到期。到期後,消費位點被自動刪除。

  2. 升級服務端版本到2.6.0。

無需中斷連線,取消業務不需要Topic的訂閱。如TestGroup取消TopicA的訂閱後,保留TopicB的訂閱且活躍,TestGroup+TopicA的消費位點超過最大保留時間長度後被清理。