View a markdown version of this page

Kesalahan pengecualian iterator kedaluwarsa - Amazon Kinesis Data Streams

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kesalahan pengecualian iterator kedaluwarsa

Kesalahan pengecualian iterator kedaluwarsa (HTTP 400) terjadi ketika iterator shard kedaluwarsa, dan tidak lagi digunakan untuk mengambil catatan aliran saat memanggil. GetRecords Ini terjadi ketika ada penundaan antara operasi baca, yang disebabkan oleh tugas pemrosesan data yang berjalan lama, masalah jaringan, atau waktu henti aplikasi.

catatan

Sebuah iterator shard berlaku selama 5 menit setelah waktu dikeluarkan.

Rekomendasi untuk menangani pengecualian
  • Menyegarkan iterator pecahan sebelum kedaluwarsa.

  • Memasukkan penanganan kesalahan untuk mendapatkan iterator baru.

  • Memanfaatkan Kinesis Kinesis Client Library (KCL) yang secara otomatis mengelola kedaluwarsa iterator shard.

Untuk informasi lebih lanjut, lihat Apa itu AWS Fault Injection Service?

Untuk melakukan eksperimen dasar
  1. Buat templat eksperimen: gunakan AWS FIS konsol.

  2. Pilih tindakan: gunakan aws:kinesis:inject-api-expired-iterator-exception tindakan.

  3. Konfigurasikan target: tentukan peran IAM dan Streamsoperasi Data Kinesis.

  4. Atur durasinya: mulai dengan 5-10 menit untuk pengujian awal.

  5. Tambahkan kondisi berhenti: kondisi berhenti untuk AWS FIS.

  6. Jalankan eksperimen: pantau perilaku aplikasi.

Detail tindakan
  • Jenis Sumber Daya: IAM Peran ARN

  • Operasi Target: GetRecords

  • Kode Kesalahan: ExpiredIteratorException (HTTP 400)

  • Deskripsi: iterator yang disediakan melebihi usia maksimum yang diizinkan, mensimulasikan skenario di mana pemrosesan rekaman terlalu lambat atau logika pos pemeriksaan gagal.

Parameter
  • IAM Role ARN: peran yang digunakan aplikasi Anda untuk operasi Kinesis Data Streams.

  • Operasi: operasi target: GetRecords

  • Daftar Sumber Daya: nama aliran tertentu atau ARNs.

  • Durasi: durasi percobaan. Ini dapat dikonfigurasi.

  • Intensitas: persentase permintaan untuk throttle.

Izin yang diperlukan
  • kinesis:InjectApiError