Hibernate-reactive: مكسورة على Hibernate ORM master

تم إنشاؤها على ٣ أغسطس ٢٠٢٠  ·  16تعليقات  ·  مصدر: hibernate/hibernate-reactive

لا يعمل Hibernate Reactive (تفاعل الإسبات) ضد المعلم الحالي لـ Hibernate ORM.

تفشل جميع الاختبارات بشيء مثل:

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)

يبدو أن السبب هو التغييرات التي تم إجراؤها في 30 يوليو بواسطةyrodiere.

bug

ال 16 كومينتر

لكي أكون محددًا ، أعتقد أن أحد هذه الالتزامات هو الذي تسبب في حدوث المشكلة:

حسنًا ، هذا خطأي. كيف يمكنني مساعدك؟

حسنًا ، هذا خطأي. كيف يمكنني مساعدك؟

لا ، هذا ليس خطأك ، إنه خطأ أنه ليس لدينا آلية في أي من المشروعين لاكتشاف متى يحدث شيء مثل هذا. كنت محظوظًا بالصدفة البحتة ولاحظت ذلك بسرعة بدلاً من أسابيع لاحقًا عندما كان تتبع سبب الكسر أكثر صعوبة.

لذلك سنحتاج إلى إيجاد طريقة ما لإيجاد مشاكل مثل هذه تلقائيًا ، وليس من الواضح ما هي أفضل طريقة للقيام بذلك.

لذلك بعد النظر بعناية في الالتزامات ، أعتقد أنه يبدو أن كل ما علينا القيام به هو تكرار هذه التغييرات إلى رمز وظيفة النسخ / اللصق. إذا كنت أفهم بشكل صحيح ، فنحن بحاجة فقط إلى معرفة كيفية تفسير هذه القيم الخالية في قائمة الكائنات المائية.

لذلك سنحتاج إلى إيجاد طريقة ما لإيجاد مشاكل مثل هذه تلقائيًا ، وليس من الواضح ما هي أفضل طريقة للقيام بذلك.

بادئ ذي بدء ، يمكننا إنشاء JOB الذي يختبر مع أحدث لقطة ORM

بادئ ذي بدء ، يمكننا إنشاء JOB الذي يختبر مع أحدث لقطة ORM

حسنًا ، بالتأكيد ، ولكن هل هناك طريقة لتشغيله وفقًا لجدول زمني؟ كان لدي انطباع (ربما خاطئ) أننا لا نستطيع فعل ذلك.

لذلك سنحتاج إلى إيجاد طريقة ما لإيجاد مشاكل مثل هذه تلقائيًا ، وليس من الواضح ما هي أفضل طريقة للقيام بذلك.

بادئ ذي بدء ، يمكننا إنشاء JOB الذي يختبر مع أحدث لقطة ORM

لدي شيء مشابه لـ Hibernate Search. في كل مرة ينتهي بناء ORM ، أقوم بتشغيل بنية Hibernate Search التي تستخدم أحدث لقطة Hibernate ORM. ومع ذلك ، لا يمكنني فعل ذلك إلا لأنني أستخدم وظائف Jenkins ، ويسمحون بتشغيل وظيفة بعد انتهاء وظيفة أخرى.

لدي شيء مشابه لـ Hibernate Search. في كل مرة ينتهي بناء ORM ، أقوم بتشغيل بنية Hibernate Search التي تستخدم أحدث لقطة Hibernate ORM. ومع ذلك ، لا يمكنني فعل ذلك إلا لأنني أستخدم وظائف Jenkins ، ويسمحون بتشغيل وظيفة بعد انتهاء وظيفة أخرى.

سيكون ذلك مثاليًا إلا أنه ليس لدينا جينكينز هنا حتى الآن: - /

سأقوم بإنشاء واحدة.

سأقوم بإنشاء واحدة.

حسنا عظيم.

تم إصلاح المشكلة في # 311.

Sanne ما هو الإصدار القادم من ORM؟

مرحبًا gavinking ، يتم تشغيل الإصدارات الصغيرة من ORM عند الطلب. سنقوم بواحد غدًا إذا كان الأمر عاجلاً ، أو يمكننا انتظار المزيد من العلاقات العامة إذا كان ذلك يناسبك بشكل أفضل. فقط اسمحوا لي أن أعرف ما هو المفضل لديك.

هل أفهم بشكل صحيح أنه لا يلزم أي شيء آخر بخلاف https://github.com/hibernate/hibernate-orm/pull/3484 ؟

مرحبًا gavinking ، يتم تشغيل الإصدارات الصغيرة من ORM عند الطلب. سنقوم بواحد غدًا إذا كان الأمر عاجلاً ، أو يمكننا انتظار المزيد من العلاقات العامة إذا كان ذلك يناسبك بشكل أفضل. فقط اسمحوا لي أن أعرف ما هو المفضل لديك.

حسنًا ، أعتقد أنه ليس أمرًا عاجلاً للغاية ، ولكن من المؤكد أنه سيكون من الجيد أن تكون قادرًا على دمج # 310 و # 311 وعدم وضعهما في ذهني.

بالتأكيد ، سيكون الأمر رائعًا ، ما لم نفكر في شيء آخر نحتاجه.

هل أفهم بشكل صحيح أنه لا يلزم أي شيء آخر بخلاف https://github.com/hibernate/hibernate-orm/pull/3484 ؟

أعتقد أن # 311 يحل المشكلة تمامًا.

إنه متاح الآن

رائع ، شكرًا ، سأدمج كل شيء الليلة إذن!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات