-
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 #7451
base: 3.5.x
Are you sure you want to change the base?
Update hibernate core #7451
Conversation
Kudos, SonarCloud Quality Gate passed! |
7d530df
to
840f80e
Compare
f933cc5
to
a9cc52f
Compare
61d5872
to
b5cbec8
Compare
519bff4
to
9bb1570
Compare
#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>
1cffbaa
to
81c9f5c
Compare
|
This PR contains the following updates:
6.1.6.Final
->6.2.5.Final
5.5.9.Final
->5.6.15.Final
Release Notes
hibernate/hibernate-validator
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
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.