Performance work update
by Sanne Grinovero
Hey all,
we've been working on various performance optimisations for Hibernate
ORM; some were large and complex, some others where very small little
things.
I've been measuring impact step by step so far; quite happy to see the
"combined" results are better than what I was hoping:
Hibernate ORM 5.4.4-preview: avgt 4469.770 ± 35.198 us/op
Hibernate ORM 5.4.3.Final: avgt 6271.767 ± 92.448 us/op
Memory allocation also looks great:
Memory allocated per TLABs: 22.02 GB -> 15.46 GB
Allocation rate for TLBAs: 752.31 MB/s -> 528.40 MB/s
(it's not worth looking at anything else than TLAB as we don't use other spaces)
This is just a little update teaser; we should blog about it in more
extended form. AFAIK Steve is already writing something to describe
the new Enhanced Proxies feature; that certainly is the main thing -
we could either combine the info in one blog or write a short series.
Thanks,
Sanne
5 years, 4 months
Hibernate Search 6.0.0.Alpha8 released
by Yoann Rodiere
Hello,
We just published Hibernate Search 6.0.0.Alpha8, a new release of the
still-in-development 6.0 branch.
This release mainly restores configuration options for entity loading and
Lucene index storage, brings simpler and more powerful bridge APIs, and
upgrades to Elasticsearch 7.2 and Lucene 8.1.
As an Alpha, this version is an early technology preview. Be sure to read
about it on our blog before you try it out:
https://in.relation.to/2019/07/22/hibernate-search-6-0-0-Alpha8/
Yoann Rodière
Hibernate NoORM Team
yoann(a)hibernate.org
5 years, 4 months
JDK 13 enters Rampdown Phase Two
by Rory O'Donnell
Hi Sanne,
Any issues to report on JDK 13 , would like to hear the status as we are
now in rampdown phase 2 ?
**OpenJDK builds *- JDK 13 Early Access build 30 **is now available **at
: - jdk.java.net/13/*
* Per the JDK 13 schedule [1], we are now in Rampdown Phase Two.
o For more details , see Mark Reinhold's email to jdk-dev mailing
list [2]
o The overall feature set is frozen, no further JEPs will be
targeted to this release.
o Per the JDK Release Process [3] we now turn our focus to P1 and
P2 bugs.
* I want to draw your attention to some noteable changes in previous
builds of JDK 13. These changes are important for those that
develop/maintain their own socket implementation
(java.net.SocketImpl) or use the setSocketImplFactory or
setSocketFactory APIs to change the system-wide socket implementation:
o http://jdk.java.net/13/release-notes#JDK-8224477 - delivered in
build 23
o http://jdk.java.net/13/release-notes#JDK-8216978 - delivered in
build 20
o http://jdk.java.net/13/release-notes#JDK-8220493 - delivered in
build 13
**OpenJDK builds *- JDK 14 Early Access build 6 is **now available **at
: - jdk.java.net/14/*
* These early-access, open-source builds are provided under the
o GNU General Public License, version 2, with the Classpath
Exception <http://openjdk.java.net/legal/gplv2+ce.html>.
* Changes of interest since last email
o 8225239: Refactor NetworkInterface lookups
o 8226409: Enable argument profiling for sun.misc.Unsafe.put*/get*
* JEP targeted to JDK 14:
o JEP352: Non-Volatile Mapped
* Bug fixes reported by Open Source Projects :
o JDK-8227080 - fixed in b5 -reported by Eclipse Jetty
The Java Crypto Roadmap
<https://www.java.com/en/jre-jdk-cryptoroadmap.html> has been updated :
* Released - 16-July-2019 - Release Affected JDK 7u231 - Disabled
Kerberos DES encryption by default
* Targeted Date - 2020 - Targeted Release - JDK 8 - Transport Layer
Security (TLS) 1.3
Rgds,Rory
[1] http://openjdk.java.net/projects/jdk/13/#Schedule
[2] https://mail.openjdk.java.net/pipermail/jdk-dev/2019-July/003170.html
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
5 years, 4 months
How to add Weblinks w/ new HHH Jira view?
by Gail Badner
I see that the new Jira view allows issue links to be added easily.
With the old view, I could add a Weblink (basically just a generic
hyperlink). I don't see how to do that with the new view. Does something
need to be added to provide that functionality?
For now, I can go back to the old view to link JBEAP issues. I'm concerned
I will lose ability when the view gets updated again.
Could someone please let me know how to find or add that functionality?
Thanks,
Gail
5 years, 4 months
Hibernate NoORM IRC meeting minutes
by Guillaume Smet
Hi,
Here are the minutes of this week's meeting.
Cheers,
========
15:00 < gsmet> #startmeeting
15:00 < koentsje> hello guys
15:00 < gsmet> #topic Progress Davide
15:00 < fax4ever> hi koen
15:01 < DavideD> I did work on the websites and fixed some javascripts,
although I noticed lately that the news in hibernate.org don't appear
anymore
15:02 < DavideD> For Fabio that wasn't here, we need to improve the
security of our websites to have a better score from the various tool
available online
15:02 < gsmet> well, you unfixed some javascripts, then :)
15:02 < DavideD> Sort of, it's basically a search for the right options to
use :)
15:02 < fax4ever> I read some mails about it. Thanks
15:02 -!- sfikes [~sfikes(a)c-69-246-28-50.hsd1.tn.comcast.net] has joined
#hibernate-dev
15:02 < DavideD> I'm checking quarkus.io to see how they did it, but I see
some errors on the page
15:03 < DavideD> I mean when I use the console...anyway, too many details,
I'm working on it
15:03 < DavideD> I also did some work on hibernate-validator
15:03 < DavideD> on the @SafeHtml annotation
15:03 < DavideD> I think that was mostly my sprint
15:04 < gsmet> #topic Next 2 weeks Davide
15:04 < DavideD> Tomorrow I have a meeting with stephan about Hibernate Rx
and Panache
15:04 < gsmet> OK
15:05 < DavideD> They already solved some of the issues I'm having and we
can see if I can reuse the same approach
15:05 < DavideD> I will also continue the work on the websites
15:05 < DavideD> I think that's all from me
15:05 < gsmet> ok, thanks
15:05 < gsmet> #topic Progress Fabio
15:05 < fax4ever> I was on PTO during the last three weeks.
15:05 < fax4ever> So starting from yesterday...
15:06 < fax4ever> I reviewed some pull requests.
15:06 < fax4ever> Moreover, always on Hibernate Search, we did an issue to
support GeoPoint POJO properties directly as @GenericField.
15:06 < fax4ever> So that a bridge or a binder is not required anymore to
handle geo-point fields declared as GeoPoint on POJO side.
15:06 < fax4ever> That's all about my progress. Thanks!
15:06 < gsmet> #topic Next 2 weeks Fabio
15:06 < fax4ever> The sprint of the next two weeks is `HSEARCH - 2019-13`.
15:07 < fax4ever> You can look at the planning and the progress on the
relative Jira page.
15:07 < fax4ever> After the work on GeoPoint, I will work...
15:07 < fax4ever> to support projections on a nested field,
15:07 < fax4ever> to make cross-index field incompatibility check even
smarter,
15:07 < fax4ever> to normalize query terms on wildcard/prefix predicates,
15:07 < fax4ever> to expose meta-information about the query execution.
15:07 < fax4ever> Furthermore, next week we'll be staying at the meeting
for three days.
15:08 < yrodiere> yeah we should probably trim your task list to take the
meeting into account ^^
15:08 < fax4ever> Finally, tomorrow we will have a meeting with Gustavo to
talk about Infinispan Query
15:08 < fax4ever> I think that's all from me. Thanks!
15:08 < fax4ever> yes :)
15:08 < gsmet> thanks Fabio
15:08 < gsmet> #topic Progress Guillaume
15:09 < gsmet> so I worked a bit on HV, reviewing a contributor PR,
discussing with Davide
15:09 < gsmet> I also try to work on improving the HV integration in Quarkus
15:09 < gsmet> but it's hard with all the PRs to review on Quarkus to get
something done
15:10 < gsmet> another thing that kept me busy is the move of Bean
Validation to Jakarta EE
15:10 < gsmet> it will probably keep me busy until the end of the month
15:10 < gsmet> #topic Next 2 weeks Guillaume
15:11 -!- sannegrinovero [~sannegrin@redhat/jboss/sannegrinovero] has
joined #hibernate-dev
15:11 < gsmet> so basically, the idea is to finish what I mentioned above
15:11 < gsmet> with our F2F, I don't think I'll be able to do much more on
the Hibernate side of things
15:11 < gsmet> that's all for me
15:11 < gsmet> #topic Progress Koen
15:12 < koentsje> so i also had a couple of days off
15:12 < koentsje> further i have worked intensively on 2 jboss tools issues
15:12 < koentsje> one concerning the creation of hibernate configuration
files for 5.3 and 5.4
15:13 < koentsje> it took some time before i finally was able to reproduce
this
15:13 < koentsje> but in the meantime, i pinned it down and solved the
problem, albeit with some kind of a hack
15:14 < koentsje> the second problem concerns the creation of hibernate
configuration consoles using sql server, especially the older hibernate
versions
15:14 -!- smarlow [~smarlow@redhat/jboss/smarlow] has joined #hibernate-dev
15:15 < koentsje> that problem is half solved now, there is an issue that
remains with reverse engineering for hibernate 5.3 and 5.4
15:15 < koentsje> further i have kept up with synchronizing the quarkus
releases in the quarkus eclipse plugin… currently 0.19.1
15:15 < koentsje> that’s it for my sprint
15:15 < gsmet> #topic Next 2 weeks Koen
15:16 < koentsje> 3 days of team meeting ;-)
15:16 < DavideD> :)
15:16 < koentsje> i want to take this opportunity to talk to andrea and
steve to see if it is time to look into hibernate tools for version 6
15:17 < koentsje> i want to solve the remaining problems relating to the
one i fixed during the previous sprint
15:18 < koentsje> i also want to go back looking at sanitizing some of the
interface code i have in the eclipse tooling to the runtime as i think it
will be beneficial when i start to do work for hibernate 6
15:19 < koentsje> finally continue to work on an eclipse run/debug
configuration for quarkus, if time permits
15:19 < koentsje> that’s it
15:19 < gsmet> thanks!
15:19 < gsmet> thanks!
15:19 < gsmet> #topic Progress Sanne
15:20 < gsmet> sannegrinovero: I saw you joined, do you want to say
something?
15:20 < gsmet> apparently not :)
15:20 < koentsje> it’s a bot!
15:21 < gsmet> #topic Progress Yoann
15:21 < yrodiere> My first task was to simplify a bit the Bridge 2.0 APIs
15:22 < yrodiere> The core of the solution was to introduce a new
component, the "Binder", which essentially is a user-provided component
responsible for inspecting the parameters and the mapped property, to
produce metadata and a bridge
15:23 < yrodiere> I adapted the rest of the APIs to move the complex use
cases to this binder, and to not require any binder for the more trivial
use cases
15:23 < yrodiere> I think we're getting there, and the next step will be to
document all this
15:23 < yrodiere> I also worked a bit on restoring features that I think
will be necessary to begin the work of upgrading Infinispan Query to Search
6
15:24 < yrodiere> mainly the DirectoryProvider SPI (to allow storing
indexes in Infinispan caches) and static sharding (for, you know...
sharding)
15:25 < sannegrinovero> gsmet, sorry:) no not much to say, recovering
slowly.
15:25 < yrodiere> that's all for the past two weeks, I think
15:25 < yrodiere> next two weeks
15:25 < gsmet> #topic Next 2 weeks Yoann
15:25 < yrodiere> yesterday I started to work on introducing aggregation
support in Search 6
15:26 < yrodiere> which will incidentally restore support for faceting, to
some extent
15:26 < yrodiere> I don't plan on exposing all aggregations, just some
simple ones for now
15:26 < yrodiere> but the big challenge will still be to design appropriate
APIs
15:27 < yrodiere> so, I expect to be busy with that for the next month
15:27 < yrodiere> especially with the meeting next week
15:27 < gsmet> when is the next release planned?
15:27 < yrodiere> "when it's ready"
15:28 < gsmet> oh I thought you were time boxing :)
15:28 < fax4ever> with the exception of the aggreation, what we really
misses now in Search 6 that we have in Search 5?
15:28 < yrodiere> I try to release every month or so, but currently we only
have 9 tickets done since the last version... I might release next week,
we'll see
15:28 < gsmet> OK
15:29 < gsmet> no pressure from me, just asking
15:29 < yrodiere> fax4ever: what do we not miss is what you mean
15:29 < gsmet> to plan for the Quarkus upgrade
15:29 < fax4ever> what feautures do not we have yet?
15:29 < yrodiere> we don't have error handlers, we don't have more like
this queries, we don't have a lot of the options of the Lucene backend, we
don't have proper indexing outside transactions, ...
15:30 < yrodiere> there is more than 200 tickets still pending
15:30 < fax4ever> yrodiere clear :)
15:30 < yrodiere> some of them are new features, but still
15:30 < yrodiere> so yeah, one thing at a time
15:31 < yrodiere> as Fabio mentioned we'll be coordinating with the
Infinispan team to try and upgrade it to Search 6, or at least to start
prototyping
15:31 < yrodiere> starting with a meeting tomorrow
15:31 < yrodiere> but it seems they have a lot on their plate too, so we'll
see how fast we can go
15:31 < yrodiere> that's all from me
15:31 < gsmet> thanks
15:32 < gsmet> #topic Other subjects
15:32 < gsmet> Anything else?
15:32 < fax4ever> not from me thanks
15:32 < DavideD> not from me
5 years, 4 months
Regarding extended bean managers and the CDI spec
by Benjamin Confino
Hello
Just a quick FYI for hibernate developers and anyone else who might be
implementing extended bean managers.
When I asked the mailing list for advice in implementing extended bean
managers I was advised to call beanManagerInitialized during
AfterBeanDiscovery if at all possible. However AfterBeanDiscovery triggers
a call to BeanManager.createInstance(), and according to the CDI 2.0 spec
section 11.3 an exception is thrown if createInstance is called before
AfterDeploymentValidation. I was able to get it working by invoking
beanManagerInitialized during the AfterDeploymentValidation event. However
I wanted to check with you that you think that's going to work ok incase I
missed anything; and bring this to everyone's attention just encase it is
helpful.
Regards
Benjamin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
5 years, 4 months
JDK 13 , JDK 14 & Valhalla Early Access builds are available.
by Rory O'Donnell
Hi Sanne,
**OpenJDK* 13 Early Access build **28 is now available **at : -
jdk.java.net/13/*
* These early-access, open-source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Changes in this build 28 [1]
*Reminder of a change in b24 - A jrt URI can only encode paths to files
in /modules tree **(JDK-8224946
<https://bugs.openjdk.java.net/browse/JDK-8224946>)*
A |jrt| URL is a hierarchical URI with syntax |jrt:/[$MODULE[/$PATH]]|.
When using the |jrt| file system, a |java.net.URI| object can be created
with the |java.nio.file.Path::toUri| method to encode a normalized path
to a file in the |/modules| tree. A |jrt| URL cannot encode a path to a
file in the |/packages| tree. The |jrt| file system provider has changed
in this release so that |toUri| fails with |IOError| when it is not
possible to encode the file path as a jrt URI. *This change may impact
tools have been making use of URLs that are not compliant with the
syntax. Tools with paths to files in **|/packages|**can use the
**|toRealPath()|**method to obtain the real path (in **|/modules|**)
before attempting to convert the file path to a URI.*
*OpenJDK 14 **Early Access build 4 **is now available **at : -
jdk.java.net/14/*
* These early-access, open-source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Changes in this build [2]
*Project Valhalla "L-World Inline Types" Early-Access Builds*
* Build jdk-14-valhalla+1-8
* These early-access builds are provided under the GNU General Public
License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Please send feedback via e-mail to valhalla-dev(a)openjdk.java.net
<mailto:valhalla-dev@openjdk.java.net>. To send e-mail to this
address you must first subscribe to the mailing list.
*The Skara tooling is now open source *[3]
we are happy to announce that the tooling for project Skara is now open
source and available at
* https://github.com/openjdk/skara <https://github.com/openjdk/skara.>
The Skara tooling includes both server-side tools (so called "bots") as
well as several command-line tools **
If you have any questions, feedback etc. send them to Skara mailing list [4]
Rgds, Rory
[1] JDK 13 - Changes in b28 here
<http://hg.openjdk.java.net/jdk/jdk/log?rev=reverse%28%22jdk-13%2B27%22%3A...>
[2] JDK 14 - Changes in b4 here
<http://hg.openjdk.java.net/jdk/jdk/log?rev=reverse%28%22jdk-14%2B3%22%3A%...>
[3] https://mail.openjdk.java.net/pipermail/skara-dev/2019-June/000047.html
[4] https://mail.openjdk.java.net/mailman/listinfo/skara-dev
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
5 years, 5 months
NoORM IRC meeting minutes
by Guillaume Smet
Hi,
Here are the minutes of this week's NoORM meeting.
Have a nice day.
=====
15:00 < gsmet> #topic Progress Davide
15:00 < yrodiere> hi
15:01 < gsmet> DavideD: you there?
15:01 < DavideD> Yes
15:01 < DavideD> Hi
15:01 < gsmet> hi :)
15:01 < DavideD> I'm currently working on improving the security score of
our websites
15:01 < DavideD> You can see the result for in.relation.to here:
https://observatory.mozilla.org/analyze/in.relation.to
15:01 < jbossbot> Title: Mozilla Observatory
15:01 < DavideD> If you are curious
15:02 < DavideD> I think I'm almost done with it and it still missing some
changes on the way we add javascripts to reach the A score
15:03 < gsmet> yeah I suppose you need to include the hash?
15:03 < DavideD> Yes for some and also avoid having inline scripts
15:03 < gsmet> ah OK
15:04 < DavideD> I'm working on that right now
15:04 < gsmet> cool
15:04 < DavideD> The main issue I have is that some code is added when we
include the javascript and I need to figure out if we can avoid it
15:05 < DavideD> But we don't need necessarly on A score, right now we are
B and it's already much better than before
15:05 < DavideD> *need on A score
15:05 < DavideD> I think that's the main thing from me
15:06 < gsmet> #topic Next 2 weeks Davide
15:06 < DavideD> Today I think I will finish with in.relation.to and then I
have to apply the same changes to hibernate.org
15:06 < gsmet> the code should be very similar
15:07 < gsmet> I really tried to be consistent when I worked on the refresh
15:07 < DavideD> Yes, but some changes can only be applied on Apache and we
serve hibernate.org on github pages
15:07 < gsmet> yes, right
15:08 < DavideD> I think I will have some work to do on CI as well once we
solved the issues with it
15:09 < DavideD> I think that's all from me
15:09 < gsmet> so, CI is pretty critical as it totally prevents us from
doing NoORM releases
15:09 < gsmet> (at least not without taking the risk to miss something when
doing the release)
15:09 < DavideD> Yes, also the websites release if we want to apply some
changes
15:10 < gsmet> yes, right
15:10 < DavideD> TO be fair, the scripts can be run locally
15:10 < gsmet> (at least not without taking the risk to miss something when
doing the release) <-
15:10 < gsmet> I agree we can do without but it's a big step backwards
15:10 < gsmet> and a risk I don't really want to take
15:10 < DavideD> Got it, but CI was just running the scripts as far as I
remember, so it shouldn't be to critical
15:11 < DavideD> But I'm not eager to do it :)
15:11 < gsmet> I don't mind having a big digest authentication for a while
if we need it
15:11 < gsmet> yeah, the thing is we release at a fast pace on Search (for
alphas) and Validator (for Quarkus)
15:11 < yrodiere> It's about having a constant build environment, too.
15:11 < gsmet> yeah
15:12 < gsmet> you could push artifacts built with JDK 11 or whatever
15:12 < gsmet> well, there were good reasons why we use CI to release
15:12 < gsmet> so let's not say now that we can do without because it's
really a risk I don't want to take
15:12 < DavideD> I'm not suggesting we should stop using CI :) Hopefully we
will have new machines soon, I will check with Sanne about it
15:14 < gsmet> DavideD: anything else?
15:14 < DavideD> No, thanks
15:14 < gsmet> OK, thanks!
15:14 < gsmet> #topic Progress Guillaume
15:14 < gsmet> so I fixed some issues in HV, one being quite annoying for
Quarkus
15:14 < gsmet> I would need a release :]
15:15 < gsmet> I also updated Quarkus to Search Alpha7
15:15 < gsmet> I gave a talk in Lille about Quarkus and my demo was based
on Search
15:15 < yrodiere> \o/
15:15 < gsmet> same comment as for any occasion I had to talk about Search:
people don't know s**t about it
15:16 < gsmet> we need to advertise it a bit more I think
15:16 < gsmet> I will do my part in Quarkus talks
15:16 < gsmet> but if we have some opportunity to talk about it, let's not
waste it
15:16 < gsmet> that's pretty much it on the Hibernate side
15:17 < gsmet> #topic Next 2 weeks Guillaume
15:17 < gsmet> having the ability to release HV in ~one week would be nice
15:17 < gsmet> I would be able to fix an annoying issue in the next Quarkus
release
15:17 < gsmet> other than that, nothing big planned
15:18 < gsmet> I will focus more on data in Quarkus for the next sprints
15:18 < gsmet> so more ORM/HV/Search work but mostly in Quarkus itself to
improve the integration
15:18 < gsmet> that's it for me
15:18 < gsmet> #topic Progress Yoann
15:19 < yrodiere> I started with a few bug fixes, related to method handles
in GraalVM, distance projections, ...
15:19 < yrodiere> I also fixed a few problems with the APIs, mostly
renaming some DSL interfaces and using a more consistent package structure
for
annotations
15:19 < yrodiere> I upgraded Search to ES 7.2 and 6.8, nothing new here
15:19 < yrodiere> I released 6.0.0.Alpha7
15:20 < yrodiere> And most of last week I was busy with restoring entity
loading in search queries
15:20 < yrodiere> the core feature was already there, but there were some
loose ends compared to Search 5
15:21 < yrodiere> I also had to work on a very strange issue that started
to happen after we started enforcing HTTPS on hibernate.org: multiple users
reported exceptions in their application as a result.
15:21 < yrodiere> it's related to XML parsers that download the DTD from
our website
15:22 < yrodiere> and as you can imagine, people using XML configuration
for ORM these days are not exactly using the latest version of their XML
parser
15:22 < yrodiere> which I think explains why it doesn't support redirection
or HTTPS very well
15:23 < yrodiere> I'm not sure what is wrong exactly, but it seems related
to the JBoss infrastructure (www.hibernate.org) and I asked the relevant
people to remove their redirection to HTTPS
15:23 < yrodiere> (which appeared out of nowhere, so I think they have some
sort of cache)
15:23 < yrodiere> anyway
15:23 < yrodiere> that's all for the past two weeks
15:23 < yrodiere> next
15:24 < gsmet> #topic Next 2 weeks Yoann
15:24 < yrodiere> I've had a few ideas recently to make the bridge 2.0 APIs
less "weird", so I'm trying that right now
15:24 < yrodiere> I'm not sure it will work out, but I'd rather try it
before I document these APIs, which will probably take a few days
15:24 < yrodiere> Then I intend to work a bit on missing features on the
Lucene side
15:24 < yrodiere> related to directory providers
15:24 < yrodiere> Mainly so that we can at least consider initiating the
work on the Infinispan Query upgrade,
15:24 < yrodiere> which could provide valuable insight
15:25 < yrodiere> that's all from me
15:25 < gsmet> ok, thanks
15:25 < gsmet> let me check but I think we are done
15:25 < gsmet> #endmeeting
=====
5 years, 5 months