Deskripsi masalah
Setelah mengaktifkan fitur idempotence, client menerima error Cluster authorization failed saat mengirim pesan.
Penyebab
Anda menggunakan topik yang memanfaatkan cloud storage. Topik semacam ini tidak mendukung fitur idempotence.
Izin
IDEMPOTENT_WRITEpada kluster belum diberikan kepada pengirim pesan. Jika Anda menggunakan topik berbasis local storage dan mengaktifkan fitur ACL, broker ApsaraMQ for Kafka secara otomatis memeriksa apakah pengirim pesan memiliki izin IDEMPOTENT_WRITE pada kluster. Tanpa izin tersebut, pengiriman pesan akan gagal.
Solusi
-
Topik cloud storage untuk tidak mendukung fitur idempotence. Nonaktifkan fitur tersebut dengan mengatur
enable.idempotence=falsepada produsen.CatatanFitur idempotence diaktifkan secara otomatis untuk client ApsaraMQ for Kafka versi 3.0 atau lebih baru. Parameter
enable.idempotencesecara otomatis diatur ke true. -
Berikan izin ACL yang diperlukan untuk kluster. Di halaman Pengelolaan izin SASL di Konsol, gunakan kotak dialog Add Permission untuk mengonfigurasi pengaturan berikut: tentukan pengguna, atur Resource Type ke Cluster, atur Matching Method ke Exact Match, dan pilih IDEMPOTENT_WRITE sebagai Operation Type. Untuk informasi selengkapnya, lihat Use ACL for access control.