Hibernate-reactive: roto en Hibernate ORM master

Creado en 3 ago. 2020  ·  16Comentarios  ·  Fuente: hibernate/hibernate-reactive

Hibernate Reactive no funciona con el maestro actual de Hibernate ORM.

Todas las pruebas fallan con algo como:

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)

La causa parece ser los cambios cometidos el 30 de julio por @yrodiere.

bug

Todos 16 comentarios

Ok, entonces es mi culpa. ¿Le puedo ayudar en algo?

Ok, entonces es mi culpa. ¿Le puedo ayudar en algo?

No, no es tu culpa, es culpa de que no tengamos ningún mecanismo en ninguno de los proyectos para detectar cuándo sucede algo como esto. Es solo por pura casualidad que tuve suerte y me di cuenta de esto rápidamente en lugar de semanas después, cuando rastrear la causa de la rotura habría sido mucho más difícil.

Por lo tanto, tendremos que encontrar alguna forma de encontrar problemas como este automáticamente, y no está claro cuál es la mejor manera de hacerlo.

Entonces, después de revisar cuidadosamente las confirmaciones, creo que todo lo que tendremos que hacer es replicar esos cambios en nuestro código de trabajo de copiar / pegar. Si lo entiendo correctamente, solo necesitamos saber cómo interpretar estos valores nulos en la lista de objetos hidratados.

Por lo tanto, tendremos que encontrar alguna forma de encontrar problemas como este automáticamente, y no está claro cuál es la mejor manera de hacerlo.

Para empezar, podemos crear un TRABAJO que pruebe con la última instantánea de ORM

Para empezar, podemos crear un TRABAJO que pruebe con la última instantánea de ORM

Bueno, seguro, pero ¿hay alguna manera de que se ejecute en un horario? Tuve la impresión (quizás equivocada) de que no podíamos hacer eso.

Por lo tanto, tendremos que encontrar alguna forma de encontrar problemas como este automáticamente, y no está claro cuál es la mejor manera de hacerlo.

Para empezar, podemos crear un TRABAJO que pruebe con la última instantánea de ORM

Tengo algo similar para Hibernate Search. Cada vez que finaliza la compilación de ORM, ejecuto una compilación de Hibernate Search que usa la última instantánea de Hibernate ORM. Sin embargo, solo puedo hacer eso porque estoy usando trabajos de Jenkins, y permiten activar un trabajo después de que termine otro trabajo.

Tengo algo similar para Hibernate Search. Cada vez que finaliza la compilación de ORM, ejecuto una compilación de Hibernate Search que usa la última instantánea de Hibernate ORM. Sin embargo, solo puedo hacer eso porque estoy usando trabajos de Jenkins, y permiten activar un trabajo después de que termine otro trabajo.

Eso sería perfecto excepto que todavía no tenemos a Jenkins aquí: - /

Voy a crear uno.

Voy a crear uno.

Vale genial.

El problema se soluciona en el # 311.

@Sanne, ¿ cuándo es el próximo lanzamiento de ORM?

hola @gavinking , los micro lanzamientos de ORM se activan bajo demanda. Hacemos uno mañana si es urgente, o podemos esperar más relaciones públicas si eso le queda mejor. Déjame saber cuál es tu preferencia.

¿Entiendo correctamente que no se requiere nada más que https://github.com/hibernate/hibernate-orm/pull/3484 ?

hola @gavinking , los micro lanzamientos de ORM se activan bajo demanda. Hacemos uno mañana si es urgente, o podemos esperar más relaciones públicas si eso le queda mejor. Déjame saber cuál es tu preferencia.

Bueno, supongo que no es muy urgente, pero seguro que sería bueno poder fusionar el # 310 y el # 311 y no tenerlos en mi mente.

Así que seguro, sería bueno, a menos que podamos pensar en algo más que necesitemos.

¿Entiendo correctamente que no se requiere nada más que https://github.com/hibernate/hibernate-orm/pull/3484 ?

Creo que el número 311 soluciona completamente el problema.

Esta disponible ahora

Impresionante, gracias, ¡fusionaré todo esta noche entonces!

¿Fue útil esta página
0 / 5 - 0 calificaciones