-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update hibernate core (major) #7794
base: 3.5.x
Are you sure you want to change the base?
Conversation
4940a0f
to
f8e06ee
Compare
6cc7fff
to
0df5db9
Compare
85665af
to
d8feb64
Compare
3ab0a2d
to
dfb3dae
Compare
dfb3dae
to
045dc16
Compare
045dc16
to
2cc5e79
Compare
2cc5e79
to
52c6bd4
Compare
52c6bd4
to
789a159
Compare
❌ Java CI failed: https://ge.micronaut.io/s/bhefcy2fzqyvo |
❌ GraalVM CE CI 17 latest failed: https://ge.micronaut.io/s/on2y6a2lu2iu2 |
789a159
to
297336f
Compare
❌ Java CI failed: https://ge.micronaut.io/s/rz5x6cg332q2i |
❌ GraalVM CE CI 19 dev failed: https://ge.micronaut.io/s/rhspnz3korqtq |
297336f
to
8b5e9be
Compare
❌ Java CI failed: https://ge.micronaut.io/s/i45rpriikfoym |
❌ GraalVM CE CI 17 latest failed: https://ge.micronaut.io/s/3xqifdrciaxbo |
#9128) This PR replaces the HttpStreamsServerHandler, HandlerPublisher, HttpRequestDecoder and HttpResponseDecoder by a new PipeliningServerHandler. PipeliningServerHandler directly receives netty HttpMessages, combines them into a FullHttpRequest or StreamedHttpRequest, and passes them on to a handler. It also takes care of pipelining, so that the responses for different requests are sent in the same order those requests came in, which fixes some old bugs in RoutingInboundHandler. PipeliningServerHandler optimizes the read and write operations. Concurrent reads are handled safely, removing the need for the FlowControlHandler even in the streaming case. Flushes are delayed until readComplete, so that multiple requests in the same TCP packet can be responded to in a single TCP packet as well. The biggest performance win comes from message aggregation, however. While PipeliningServerHandler can handle a FullHttpRequest from FULL_CONTENT, it can also do some basic aggregation on its own. Small requests commonly have the HttpRequest and HttpContent come in in the same read call. PipeliningServerHandler will "hold back" the HttpRequest until readComplete to merge it with the HttpContent if available, into a FullHttpRequest. This gives a performance benefit downstream, it's actually ~600ns faster in FullHttpStackBenchmark by default than 4.0.x with FULL_CONTENT. The big advantage over FULL_CONTENT is that this aggregation is always enabled and is not a compatibility issue. Large requests will still safely fall back to StreamedHttpRequest. FULL_CONTENT is still useful for customizers that want to observe the full HTTP message, however, and may give some perf benefit for medium-sized request bodies. The reason this PR is so big is that now, many small requests are processed using the FullHttpRequest APIs. There are many subtle differences in this code path. For example, form items are parsed immediately and then passed to FormRouteCompleter, where previously parsing and processing would be interleaved (the reactive code path). This exposed some bugs because it moves some `if (refCnt > 0) release` calls to before the processing.
This fails in 4.0.0 as the response is OK
Merge 3.9.x, fix TCK test and document breakage
* Use StringIntMap for propertyIndexOf This patch replaces the propertyIndexOf method generated for each introspection with an optimized String->int map. For cases where propertyIndexOf may be called for many different types, this avoids a megamorphic call site (benchmark about 5x as fast). On the other hand, for cases where propertyIndexOf is only called with one or two different introspections at the same call site, this is slightly slower (benchmark about 0.65x as fast). imo this tradeoff is acceptable, because the speedup for megamorphic case far exceeds the slowdown for the monomorphic case. Monomorphic call sites should also be less "hot" in practical code, so performance of propertyIndexOf matters less. Finally, the absolute performance difference is quite small for the monomorphic case, in the benchmark it's 70ns so roughly 1.5ns per item, while for the megamorphic case it's roughly 30ns per item. Benchmark results, before this change: Benchmark (itemCount) (typeCount) Mode Cnt Score Error Units PropertyIndexBenchmark.test 50 1 avgt 5 115.205 ± 1.016 ns/op PropertyIndexBenchmark.test 50 2 avgt 5 118.745 ± 0.106 ns/op PropertyIndexBenchmark.test 50 3 avgt 5 832.091 ± 8.271 ns/op After this change: Benchmark (itemCount) (typeCount) Mode Cnt Score Error Units PropertyIndexBenchmark.test 50 1 avgt 5 183.315 ± 0.435 ns/op PropertyIndexBenchmark.test 50 2 avgt 5 162.453 ± 0.881 ns/op PropertyIndexBenchmark.test 50 3 avgt 5 162.690 ± 1.004 ns/op * Use array instead of list --------- Co-authored-by: Denis Stepanov <[email protected]>
We had to disable Predictive Test Selection and Test Distribution for Kotest tests as Kotest was unsupported. As of micronaut-test-4.0.0-M2, we use a supported version of Kotest 5, so this pr reverses #8612 To re-enable these Gradle features
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
8b5e9be
to
b726b35
Compare
|
This PR contains the following updates:
6.1.6.Final
->8.0.0.Final
5.5.9.Final
->6.2.2.Final
Release Notes
hibernate/hibernate-validator
v8.0.0.Final
Compare Source
v7.0.5.Final
Compare Source
v7.0.4.Final
Compare Source
v7.0.3.Final
Compare Source
v7.0.2.Final
Compare Source
** Bug
* HV-1854 PESELValidator does not valid correct
* HV-1833 DomainNameUtil issues java.lang.StackOverflowError on very large error (@Email validation)
** Improvement
* HV-1840 Remove deprecated CDI API usage
** Task
* HV-1862 Update Log4j 2 test dependency to 2.16.0
* HV-1861 Switch to the nexus-staging-maven-plugin
* HV-1860 Add GitHub SSH keys to SSH agent during Jenkinsfile release
* HV-1859 Update Log4j 2 test dependency to 2.15.0
* HV-1858 Switch to OSSRH for deployment to Maven Central
* HV-1848 Set up SSH config as part of the Jenkinsfile
* HV-1846 Upgrade to Byte Buddy 1.11.6 in tests
* HV-1845 Test Hibernate Validator against JDK 18
* HV-1844 Upgrade Jakarta EL to 4.0.1
* HV-1843 Upgrade Jackson test dependency to 2.12.3
* HV-1842 Upgrade Guava test dependency to 30.1.1-jre
* HV-1841 Expose a getter for the configured PropertyNodeNameProvider
* HV-1838 Skip forbiddenapis on JDK17+
* HV-1837 Language rework initiative
* HV-1836 Restore CI for JDK 15
* HV-1835 Test Hibernate Validator against JDK17
v7.0.1.Final
Compare Source
** Task
* HV-1826 - tck-runner - Reintroduce TCK Runner in container tests for Jakarta EE 9 using WildFly Preview
v6.2.5.Final
Compare Source
v6.2.4.Final
Compare Source
v6.2.3.Final
Compare Source
v6.2.2.Final
Compare Source
v6.2.1.Final
Compare Source
v6.1.7.Final
Compare Source
hibernate/hibernate-orm
v6.2.2.Final
v6.2.1.Final
v6.2.0.Final
v6.1.7.Final
v6.1.6.Final
v6.1.5.Final
v6.1.4.Final
v6.1.3.Final
v6.1.2.Final
https://hibernate.atlassian.net/projects/HHH/versions/32087
** Bug
* [HHH-15430] - Allow use of @Enumerated on basic collection
* [HHH-15428] - Converters for BasicCollectionType don't work
* [HHH-15423] - @Any discriminated association fails to be implicitly fetched due to UnsupportedOperationException
* [HHH-15420] - Getting Started Guide Code does not build
* [HHH-15418] - Composite primary key with NativeQuery & alias not working
* [HHH-15417] - UUID with AttributeConverter, merge throws ClassCastException
* [HHH-15414] - For Oracle Dialect from version 8 Envers should not generate new revision when database replaces empty string with NULL during INSERT or UPDATE statements
* [HHH-15413] - For Oracle Dialect from version 8 Envers should use an ordered sequence
* [HHH-15406] - Tests annotated with org.hibernate.testing.RequiresDialect having as value deprecated dialect are not executed
* [HHH-15403] - Likely Statement leak on invoking a stored procedure
* [HHH-15396] - Quick Start guide, hibernate-tutorials.zip link is broken
* [HHH-15395] - HibernateCriteriaBuider#power(Expression<? extends Number> x, Number y) throws ClassCastException
* [HHH-15392] - Reinstantiate support for Character values for like expression escape character
* [HHH-15391] - StackOverflow when applying a load entity graphs to a query
* [HHH-15390] - Calling SqmQuery#getSqmStatement()#toHqlString() causes ClassCastExpection when using distinct in Criteria or HQL query
* [HHH-15379] - NPE building mapping from HBM for collections targeting a class that does not have an HBM mapping
* [HHH-15371] - Envers failure when run under SecurityManager
* [HHH-15323] - @AnyDiscriminator Unable to filter a polymorphic relationship in a query
* [HHH-15218] - @OptimisticLocking(DIRTY) leads to wrong query during delete of circular reference
** Improvement
* [HHH-15415] - Jackson and Jakarta Jsonb custom types to allow GraalVM compilation
** New Feature
* [HHH-15352] - ScrollableResults.setFetchSize()
** Task
* [HHH-15412] - Cleanup: remove reflection keeping JDK8 compatibility afloat in AggregatedServiceLoader
* [HHH-15411] - Introduce an system property to fully disable Hibernate's use of a system SecurityManager
* [HHH-15409] - Restore lazy initialization semantics for MetadataSources#xmlMappingBinderAccess
* [HHH-15408] - QueryEngine to be more defensive with passed parameters
* [HHH-15407] - Need to expose more internal state from MetadataImpl to allow copies of metadata instances
* [HHH-15404] - Move annotation to intended package: org.hibernate.Remove (from org.hibernate.annotations.Remove)
* [HHH-15322] - Allow JNDI lookups using the osgi scheme
v6.1.1.Final
https://hibernate.atlassian.net/projects/HHH/versions/32080
** Bug
* [HHH-15369] - UnknownTableReferenceException when two subclasses have same field with different type
* [HHH-15361] - Update assignment type check should allow subtypes
* [HHH-15360] - Listagg with nulls clause emulation in H2 before 2.0
* [HHH-15358] - @Where annotation with globally_quoted_identifiers causes Unable to determine TableReference Exception
* [HHH-15357] - ClassCastException when selecting map key FK part
* [HHH-15354] - NPE building mapping from HBM for associations targeting a non existing entity
* [HHH-15349] - Comparing entity join alias with collection part fails
* [HHH-15347] - Parent identity check in NavigablePath#relativize is too strict
* [HHH-15346] - @ManyToOne associations not loaded correctly with default EAGER and batch fetch property set
* [HHH-15343] - NPE in type determination for case expression returning null literal
* [HHH-15342] - Inappropriate variation of HQL left join to SQL inner join
* [HHH-15341] - Disallow transient entities as parameters
* [HHH-15339] - Association in embedded id initialized to null when selected
* [HHH-15338] - Impossible to give same path expression multiple aliases
* [HHH-15331] - Constructor expressions in the SELECT clause ignores attribute converter
* [HHH-15324] - Hibernate (6.0.2) Regression. Sets Legacy java.persistence properties, then logs deprecation warnings on these which spams log
* [HHH-15314] - Hibernate Gradle plugin is not working for Kotlin projects
** Improvement
* [HHH-15367] - Lift embedded/id-class to-one selection limitation for from clause subqueries
* [HHH-15329] - Remove workaround for HHH-10382
* [HHH-15325] - Avoid allocations from BitSet.stream() in AbstractEntityPersister.resolveDirtyAttributeIndexes()
v6.1.0.Final
https://hibernate.atlassian.net/projects/HHH/versions/32066
** Bug
* [HHH-15316] - Session.createQuery() doesn't accept JpaCriteriaInsertSelect
* [HHH-15297] - Invalid Automatic-Module-Name org.hibernate.orm.community-dialects
* [HHH-15294] - Type issues in CockroachDB dialect
* [HHH-15293] - CockroachDB BYTES type does not have a length specification
* [HHH-15291] - ClassCastException Regression in CriteriaBuilder
* [HHH-15288] - Switch to SMALLINT as recommended type for enums
* [HHH-15286] - Query with a Composite Identifier (@IdClass) throws an exception
* [HHH-15285] - Calling getJavaType() of @ElementCollection with basic types returns wrong type
* [HHH-15283] - NullPointerException from EntityManager.createNamedNativeQuery(…)
* [HHH-15281] - INSERTs/UPDATEs no longer executed as JDBC Batch statements if hibernate.temp.use_jdbc_metadata_defaults is set to false
* [HHH-15279] - NPE with Id on OneToOne referencing entity with multi-level EmbeddedId
* [HHH-15278] - NPE when NULL is used in a query projection
* [HHH-15270] - Inconsistent precedence of orm.xml implicit catalog over "default_catalog" in XML-mapped entities
* [HHH-15269] - Update NativeQuery unable to use h-schema placeholder, just emits placeholder contents into SQL
* [HHH-15267] - Some cache objects aren't implement Serializable interface
* [HHH-15266] - NullPointerException on
* [HHH-15265] - SchemaExport.execute does not add the configured schema to comments
* [HHH-15263] - @NamedQuery is not supported with UPDATE statement
* [HHH-15260] - Criteria query is unable to determine TableReference when combining subquery with join
* [HHH-15258] - Orphan removal for OneToMany relations is broken when used with GenerationType.IDENTITY
* [HHH-15256] - Query NPE when using ":param IS NULL" with a Left Join
* [HHH-15255] - Fix org.hibernate.orm.test.batch.BatchTest
* [HHH-15153] - @OneToOne does not support @EmbeddedId
* [HHH-15134] - Update a bytecode enhanced Entity with a Version attribute causes OptimisticLockException
* [HHH-15010] - @CreationTimestamp and @UpdateTimestamp documentation have an incomplete list of supported field types
** Improvement
* [HHH-15300] - Unnecessary memory usage detected in SqlStatementLogger.logSlowQuery()
* [HHH-15292] - escape special html chars in JavaDoc
* [HHH-15276] - Introduce ConverterRegistration annotation
* [HHH-15259] - Explicitly add JavaDoc to make @deprecated hint visible in Eclipse
** New Feature
* [HHH-15251] - Unified mapping XSD based on JPA 3.1
* [HHH-10999] - Arrays datatype support via java.sql.Array
* [HHH-3356] - Support for subselect (subquery) in from clause
** Task
* [HHH-15274] - Small optimisation for how LazyAttributeLoadingInterceptor is dealing with lazy fields
* [HHH-14614] - Better support for JUnit 5 on-failure handling
v6.0.2.Final
v6.0.1.Final
https://hibernate.atlassian.net/projects/HHH/versions/32061
** Bug
* [HHH-15246] - HQL fails to set enum col to NULL
* [HHH-15245] - Minor regression in CockroachDB test cases
* [HHH-15241] - fix nonexistent references in hibernate core's Javadoc
* [HHH-15240] - Defining a UserVersionType causes AssertionError from VersionResolution if running in JVM with "-ea" flag set
* [HHH-15239] - "user guide" for 5.6 is missing after 6.0 is released
* [HHH-15238] - Documentation: update JDBC logging configuration for 6.0
* [HHH-15236] - Fix signing of published artifacts
* [HHH-15233] - Query NPE when using ":param IS NULL" and the parameter value is an Entity
** Improvement
* [HHH-15221] - Fix a logging error in JdbcValuesCacheHit
* [HHH-15220] - correct obvious typos in either comment or variable name
* [HHH-15210] - Oracle dialect should have MaxIdentifierLength to 128 for version equals or above 12.2
* [HHH-15208] - Upgrade to Micrometer 1.8.4
* [HHH-15207] - Upgrade GraalVM SDK to 22.0.0.2
* [HHH-15206] - Upgrade to ANTLR 4.10
* [HHH-15204] - Remove dependency to jakarta.activation:jakarta.activation-api
* [HHH-15200] - Support XML DDL type
* [HHH-15189] - Deprecation warning for lock timeout is always printed
* [HHH-15187] - Upgrade to HCANN 6.0.0.Final
* [HHH-15184] - Improve efficiency of Component#getSelectables()
* [HHH-15170] - Dedicated chapter for "Build Tool Support"
* [HHH-15157] - Add HQL query to NoResultException
* [HHH-14992] - Stop building ZIP and TGZ dists to upload to SF
* [HHH-4384] - @JoinColumn must be set for @AssociationOverride to work
** New Feature
* [HHH-15165] - Add GEOGRAPHY constant to SqlTypes
** Task
* [HHH-15237] - Upgrade to Agroal 2.0
* [HHH-15226] - Publish a Gradle platform (Maven Bom++) for Hibernate ORM
* [HHH-15224] - Update list of modules in the documentation
* [HHH-15222] - Introduce an helper class SPI for decorating a Session instance when the instance is lazily provided
* [HHH-15219] - Re-introduce the ability to stop and then reactivate a ServiceRegistry
* [HHH-15209] - Upgrade to bytebuddy 1.12.9
v6.0.0.Final
https://hibernate.atlassian.net/projects/HHH/versions/32049
** Bug
* [HHH-15131] - JPA Compliance issue with Envers
* [HHH-15118] - PooledOptimizer generates duplicate ids when several JVMs initialize optimizer and sequence value is the initial value
* [HHH-15117] - ConstraintViolationException is thrown using same @SecondaryTable on two entities
* [HHH-15115] - Deleting an entity with Joined inheritance and default schema set is throwing and error
* [HHH-15113] - Exception setting ParameterExpressions on Update Queries
* [HHH-15111] - MappingException is thrown for @JoinColumn with referencedColumnName on a @SecondaryTable
* [HHH-15105] - Getting the CacheRegionStatistics before executing a query leads to a NPE later on
* [HHH-15098] - suboptimal/incorrect behavior when updating managed oneToMany collection on entity with naturalId
* [HHH-15091] - EntityManager.persist does not verify the existence of the one side of a many-to-one relationship, introduced 5.4.17
* [HHH-14487] - PropertyAccessStrategyMapImpl imports wrong class
** Improvement
* [HHH-15144] - Add IncubationLogger
* [HHH-15143] - Add an "implicit naming strategy" for database structures (sequence and tables) for identifier generators
* [HHH-15138] - Remove support for Eviction Listeners in BoundedConcurrentHashMap
* [HHH-15078] - Support for Tuple and SelectionQuery
* [HHH-15055] - Document SelectionQuery and MutationQuery
* [HHH-14672] - Allow specifying CHAR-based storage for UUID mappings
* [HHH-14510] - Remove deprecated id-gen related contracts and classes
* [HHH-13135] - Add support for KEY/NO KEY locking in PostgreSQL
** New Feature
* [HHH-14739] - Implement ILike support in 6
** Task
* [HHH-15139] - Improvements for QueryInterpretationCache
* [HHH-15133] - Use specified result-type to better infer "shape" of query results with implicit selections
* [HHH-15132] - Improvements for NavigablePath
* [HHH-15119] - Upgrade to ByteBuddy 1.12.8
* [HHH-15107] - Update build to make tests pass against JDK19
* [HHH-14884] - More improvements to Domain Model chapter of the User Guide
* [HHH-14872] - Re-enable hibernate-gradle-plugin
v5.6.15.Final
Compare Source
v5.6.14.Final
Compare Source
v5.6.13.Final
Compare Source
v5.6.12.Final
Compare Source
v5.6.11.Final
Compare Source
v5.6.10.Final
Compare Source
v5.6.9.Final
Compare Source
v5.6.8.Final
Compare Source
v5.6.7.Final
Compare Source
v5.6.6.Final
Compare Source
v5.6.5.Final
Compare Source
v5.6.4.Final
Compare Source
v5.6.3.Final
Compare Source
v5.6.2.Final
Compare Source
v5.6.1.Final
Compare Source
v5.6.0.Final
Compare Source
Configuration
📅 Schedule: Branch creation - "every weekend" in timezone Europe/Prague, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.