Hibernate-reactive: rusak pada master ORM Hibernate

Dibuat pada 3 Agu 2020  ·  16Komentar  ·  Sumber: hibernate/hibernate-reactive

Hibernate Reactive tidak bekerja melawan master Hibernate ORM saat ini.

Semua tes gagal dengan sesuatu seperti:

Caused by: org.hibernate.AssertionFailure: possible non-threadsafe access to the session
    at org.hibernate.reactive.loader.ReactiveResultSetProcessor.initializeEntity(ReactiveResultSetProcessor.java:55)
    at org.hibernate.reactive.loader.ReactiveLoaderBasedResultSetProcessor.lambda$reactiveInitializeEntitiesAndCollections$3(ReactiveLoaderBasedResultSetProcessor.java:142)
    at org.hibernate.reactive.loader.ReactiveLoaderBasedResultSetProcessor$$Lambda$364/0000000000000000.apply(Unknown Source)
    at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:995)

Penyebabnya tampaknya adalah perubahan yang dilakukan pada 30 Juli oleh @yrodiere.

bug

Semua 16 komentar

Oke, jadi ini salahku. Apa yang bisa saya bantu?

Oke, jadi ini salahku. Apa yang bisa saya bantu?

Tidak, itu bukan salahmu, ini salah karena kami tidak memiliki mekanisme di kedua proyek untuk mendeteksi ketika sesuatu seperti ini terjadi. Hanya kebetulan saja saya beruntung dan menyadarinya dengan cepat alih-alih berminggu-minggu kemudian ketika melacak penyebab kerusakan akan jauh lebih sulit.

Jadi kita perlu menemukan beberapa cara untuk menemukan masalah seperti ini secara otomatis, dan tidak jelas apa cara terbaik untuk melakukannya.

Jadi setelah hati-hati memeriksa komit, saya pikir sepertinya yang perlu kita lakukan hanyalah mereplikasi perubahan itu ke kode copy/paste-job kita. Jika saya mengerti dengan benar, kita hanya perlu tahu bagaimana menafsirkan nol ini dalam daftar objek terhidrasi.

Jadi kita perlu menemukan beberapa cara untuk menemukan masalah seperti ini secara otomatis, dan tidak jelas apa cara terbaik untuk melakukannya.

Untuk memulainya, kita dapat membuat JOB yang menguji dengan snapshot ORM terbaru

Untuk memulainya, kita dapat membuat JOB yang menguji dengan snapshot ORM terbaru

Tentu saja, tetapi apakah ada cara untuk membuatnya berjalan sesuai jadwal? Saya mendapat kesan (mungkin salah) bahwa kami tidak bisa melakukan itu.

Jadi kita perlu menemukan beberapa cara untuk menemukan masalah seperti ini secara otomatis, dan tidak jelas apa cara terbaik untuk melakukannya.

Untuk memulainya, kita dapat membuat JOB yang menguji dengan snapshot ORM terbaru

Saya memiliki sesuatu yang serupa untuk Pencarian Hibernasi. Setiap kali build ORM selesai, saya menjalankan build Hibernate Search yang menggunakan snapshot ORM Hibernate terbaru. Namun, saya hanya bisa melakukan itu karena saya menggunakan pekerjaan Jenkins, dan mereka memungkinkan memicu pekerjaan setelah pekerjaan lain selesai.

Saya memiliki sesuatu yang serupa untuk Pencarian Hibernasi. Setiap kali build ORM selesai, saya menjalankan build Hibernate Search yang menggunakan snapshot ORM Hibernate terbaru. Namun, saya hanya bisa melakukan itu karena saya menggunakan pekerjaan Jenkins, dan mereka memungkinkan memicu pekerjaan setelah pekerjaan lain selesai.

Itu akan sempurna kecuali kita belum memiliki Jenkins di sini :-/

Aku akan membuat satu.

Aku akan membuat satu.

OK bagus.

Masalahnya diperbaiki di #311.

@Sanne kapan rilis ORM berikutnya?

hai @gavinking , rilis mikro ORM dipicu sesuai permintaan. Kami mengerjakannya besok jika mendesak, atau kami bisa menunggu PR lainnya jika itu lebih cocok untuk Anda. Beri tahu saya apa preferensi Anda.

Apakah saya mengerti dengan benar bahwa tidak ada hal lain selain https://github.com/hibernate/hibernate-orm/pull/3484 yang diperlukan?

hai @gavinking , rilis mikro ORM dipicu sesuai permintaan. Kami mengerjakannya besok jika mendesak, atau kami bisa menunggu PR lainnya jika itu lebih cocok untuk Anda. Beri tahu saya apa preferensi Anda.

Yah, saya rasa ini tidak terlalu mendesak, tapi pasti menyenangkan bisa menggabungkan #310 dan #311 dan tidak memikirkannya.

Jadi tentu saja, itu akan menyenangkan, kecuali kita bisa memikirkan hal lain yang kita butuhkan.

Apakah saya mengerti dengan benar bahwa tidak ada hal lain selain https://github.com/hibernate/hibernate-orm/pull/3484 yang diperlukan?

Saya percaya bahwa #311 benar-benar menyelesaikan masalah.

Ini tersedia sekarang

Luar biasa, terima kasih, saya akan menggabungkan semuanya malam ini!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat