Azure-sdk-for-java: [BUG] Kebocoran memori di ServiceBusReceiverAsyncClient tutup

Dibuat pada 6 Des 2020  ·  3Komentar  ·  Sumber: Azure/azure-sdk-for-java

Jelaskan bugnya
Saat instance ServiceBusReceiverAsyncClient dibuat, dua bidang instance LockContainer dibuat.

Setiap variabel (dalam konstruktor LockContainer ) berlangganan Flux untuk membersihkan sumber daya secara berkala. Lambda yang digunakan dalam pembersihan menggunakan instance wadah kunci itu sendiri, jadi Flux akan terus merujuk instance wadah kunci sampai konsumen dibuang.

Masalahnya adalah ketika ServiceBusReceiverAsyncClient ditutup, variabel LockContainer juga tidak ditutup, yang menyebabkan kebocoran memori.

Untuk Mereproduksi
Untuk mereproduksi, buat instance ServiceBusReceiverAsyncClient dan panggil berulang kali close dan start . Gunakan Visual VM untuk melacak penggunaan memori dengan heap dump.

Ini adalah pola penggunaan memori yang harus Anda lihat (sedikit peningkatan namun stabil dalam penggunaan memori):
Screenshot 2020-12-05 at 23 53 01

Dan beginilah tampilan jumlah instance di heap dan ukuran yang dipertahankan pada waktunya:
Screenshot 2020-12-05 at 23 55 07
Screenshot 2020-12-05 at 23 56 24

Perilaku yang diharapkan
Instans LockContainer harus ditutup saat klien ditutup dan karena itu tidak bocor ke memori.

Setup (harap lengkapi informasi berikut):

  • OS: Mac/Linux
  • IDE : IntelliJ
  • 7.0.0

Daftar Periksa Informasi
Mohon pastikan bahwa Anda telah menambahkan semua informasi berikut di atas dan centang bidang yang diperlukan jika tidak, kami akan memperlakukan penerbit sebagai laporan yang tidak lengkap

  • [X] Deskripsi Bug Ditambahkan
  • [X] Langkah Repro Ditambahkan
  • [X] Informasi pengaturan Ditambahkan
Client Service Bus customer-reported question

Semua 3 komentar

Halo, saya baru saja membuka PR dengan perbaikan untuk masalah ini: https://github.com/Azure/azure-sdk-for-Java/pull/17993.

Beri tahu saya jika Anda memerlukan perubahan atau informasi lebih lanjut.

Salam!

Terima kasih telah memeriksa PR @conniey ! Bisakah kita mengharapkan rilis baru segera? Salam!

@marciopd kami akan merilisnya di bulan Januari.

Diperbaiki oleh #17993

Apakah halaman ini membantu?
0 / 5 - 0 peringkat