All Products
Search
Document Center

ApsaraMQ for Kafka:Mengapa offset konsumen yang kedaluwarsa tetap disimpan?

Last Updated:Aug 25, 2026

ApsaraMQ for Kafka menghapus offset konsumen setelah melebihi periode retensi offset konsumen yang telah dikonfigurasi. Namun, offset konsumen dari Group aktif tetap disimpan meskipun sudah kedaluwarsa. Topik ini menjelaskan penyebabnya dan memberikan solusi.

Gejala

Pada server ApsaraMQ for Kafka versi 2.2.0, offset konsumen suatu Group melebihi periode retensi offset konsumen yang Anda konfigurasi, tetapi tidak dihapus. Anda masih dapat melihat offset konsumen tersebut di konsol: buka halaman Topic Details di ApsaraMQ for Kafka console, klik tab Subscriptions, lalu lihat Consumer Details topik target.

Catatan

Consumer Offset Retention Period menentukan periode maksimum penyimpanan offset konsumen. Periode ini dihitung sejak offset konsumen dikomit. Offset konsumen yang melebihi periode tersebut akan dihapus. Penghapusan offset konsumen tidak mengatur nilainya menjadi 0, melainkan menghilangkan offset tersebut sepenuhnya. Setiap kali Anda mengkomit offset konsumen ke partisi topik, pengatur waktu retensinya diatur ulang ke 0. Untuk informasi selengkapnya, lihat Modify message configurations.

Kemungkinan penyebab

Berdasarkan desain Kafka open source, offset konsumen dari Group aktif tidak dihapus, meskipun offset tersebut telah melebihi periode retensi offset konsumen.

Catatan

Group dianggap aktif jika berisi thread konsumen yang menggunakan metode subscribe, bukan metode assign.

Sebagai contoh, Anda membuat Group bernama TestGroup untuk berlangganan TopicA dan mengkomit offset konsumen. Karena perubahan bisnis, Anda berhenti berlangganan TopicA dan mulai berlangganan TopicB. TestGroup tetap aktif, sehingga offset konsumen Group ini pada TopicA maupun TopicB tidak dihapus.

Jika Anda hanya berhenti berlangganan TopicA tanpa berlangganan TopicB, TestGroup menjadi tidak aktif. Offset konsumen TestGroup pada TopicA akan dihapus setelah melebihi periode retensi offset konsumen.

Solusi

Untuk menghapus offset konsumen yang kedaluwarsa, gunakan salah satu metode berikut:

  • Putuskan semua thread konsumen yang menggunakan metode subscribe agar Group menjadi tidak aktif, lalu terapkan salah satu metode berikut sesuai kebutuhan bisnis Anda:

    • Tunggu hingga offset konsumen kedaluwarsa. Setelah kedaluwarsa, offset tersebut akan dihapus secara otomatis.

    • Atur ulang offset konsumen yang kedaluwarsa menjadi 0 berdasarkan partisi melalui konsol.

    • Beralih ke Group baru, nonaktifkan semua thread konsumen Group asli, lalu tunggu hingga offset konsumen Group asli kedaluwarsa. Setelah kedaluwarsa, offset tersebut akan dihapus secara otomatis.

    • Upgrade versi server ke 2.6.0.

  • Pertahankan koneksi Group dan batalkan langganan terhadap topik yang tidak lagi diperlukan oleh bisnis Anda. Meskipun Group tetap aktif, offset konsumen untuk topik yang telah dibatalkan langgannya akan dihapus setelah melebihi periode retensi offset konsumen.

Setelah menerapkan salah satu metode di atas, verifikasi hasilnya di konsol. Buka halaman Topic Details, klik tab Subscriptions, lalu lihat Consumer Details topik tersebut. Jika offset konsumen telah dihapus, maka tidak ada offset yang tersisa. Jika Anda mengatur ulang offset menjadi 0, nilai offset tersebut akan tetap 0.

Referensi