Hibernate-reactive: quebrado no Hibernate ORM master

Criado em 3 ago. 2020  ·  16Comentários  ·  Fonte: hibernate/hibernate-reactive

O Hibernate Reactive não funciona contra o mestre atual do Hibernate ORM.

Todos os testes falham com 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)

A causa parece ser as mudanças cometidas em 30 de julho por @yrodiere.

bug

Todos 16 comentários

Ok, então é minha culpa. Como posso ajudá-lo?

Ok, então é minha culpa. Como posso ajudá-lo?

Não, não é sua culpa, é culpa de não termos nenhum mecanismo em nenhum dos projetos para detectar quando algo assim acontece. Foi por puro acaso que tive sorte e percebi isso rapidamente, em vez de semanas depois, quando rastrear a causa da quebra teria sido muito mais difícil.

Então, vamos precisar encontrar uma maneira de encontrar problemas como esse automaticamente, e não está claro qual é a melhor maneira de fazer isso.

Então, depois de examinar cuidadosamente os commits, acho que tudo o que precisaremos fazer é replicar essas alterações em nosso código de tarefa de copiar / colar. Se estou entendendo bem, só precisamos saber como interpretar esses nulos na lista de objetos hidratados.

Então, vamos precisar encontrar uma maneira de encontrar problemas como esse automaticamente, e não está claro qual é a melhor maneira de fazer isso.

Para começar, podemos criar um JOB que testa com o instantâneo ORM mais recente

Para começar, podemos criar um JOB que testa com o instantâneo ORM mais recente

Bem, claro, mas há uma maneira de fazê-lo funcionar de acordo com uma programação? Tive a impressão (talvez errada) de que não poderíamos fazer isso.

Então, vamos precisar encontrar uma maneira de encontrar problemas como esse automaticamente, e não está claro qual é a melhor maneira de fazer isso.

Para começar, podemos criar um JOB que testa com o instantâneo ORM mais recente

Eu tenho algo semelhante para o Hibernate Search. Cada vez que a compilação do ORM termina, eu executo uma compilação do Hibernate Search que usa o instantâneo ORM mais recente do Hibernate. No entanto, só posso fazer isso porque estou usando tarefas do Jenkins e eles permitem o acionamento de uma tarefa após a conclusão de outra.

Eu tenho algo semelhante para o Hibernate Search. Cada vez que a compilação do ORM termina, eu executo uma compilação do Hibernate Search que usa o instantâneo ORM mais recente do Hibernate. No entanto, só posso fazer isso porque estou usando tarefas do Jenkins e eles permitem o acionamento de uma tarefa após a conclusão de outra.

Isso seria perfeito, exceto que não temos Jenkins aqui ainda: - /

Vou criar um.

Vou criar um.

OK ótimo.

O problema foi corrigido em # 311.

@Sanne quando é o próximo lançamento do ORM?

hi @gavinking , micro releases de ORM são acionados sob demanda. Faremos um amanhã, se for urgente, ou podemos esperar por mais RP, se isso atender melhor a você. Apenas me diga qual é a sua preferência.

Eu entendi corretamente que nada além de https://github.com/hibernate/hibernate-orm/pull/3484 é necessário?

hi @gavinking , micro releases de ORM são acionados sob demanda. Faremos um amanhã, se for urgente, ou podemos esperar por mais RP, se isso atender melhor a você. Apenas me diga qual é a sua preferência.

Bem, eu acho que não é super urgente, mas com certeza seria bom ser capaz de mesclar # 310 e # 311 e não tê-los em minha mente.

Com certeza, seria bom, a menos que possamos pensar em outra coisa de que precisamos.

Eu entendi corretamente que nada além de https://github.com/hibernate/hibernate-orm/pull/3484 é necessário?

Acredito que o # 311 resolve completamente o problema.

Já está disponível

Incrível, obrigado, vou mesclar tudo hoje à noite então!

Esta página foi útil?
0 / 5 - 0 avaliações