API differences in Hibernate ORM 5.1 vs 5.3
by Gail Badner
Hi,
There were lots of differences in the compatibility report, so as a first
step, I've excluded packages/classes that I considered SPI, internal, or
"grey area". This reduced the the differences to a more manageable amount.
You can see a summary of the incompatibilities along with suggested
mitigation at [1].
The report is attached to [1], along with a zip with instructions for
running the report.
I believe there are some "false positives" in the report, and I have
documented them in the section, "False Positives?".
Feel free to comment on the article.
Thanks,
Gail
[1]
https://developer.jboss.org/wiki/HibernateORMBinaryCompatibilityBetween51...
6 days, 13 hours
IP banned from forum
by Gunnar Morling
Hi,
Is anyone banning users from the forum? I am getting "A ban has been
issued on your IP address."
I don't think banning by IP is a good strategy as many users will have
dynamic IPs from their hoster's shared pool, so it's a random game to
hit an IP previously banned due to some other user's spam.
Thanks,
--Gunnar
6 days, 20 hours
New CI machine preview
by Sanne Grinovero
You're all welcome to play with http://54.225.162.168/
however please keep these in mind:
- it's not the final machine: don't put too much effort in creating
nice build scripts as we'll reset it to clean state soon. We *might*
be able to store jobs defined so far, but we might choose not to.
- domain name should be coming: ci.hibernate.org ..not sure when, got
no replies so far from.
- authentication: just click on login, it will use OAuth2 to request
your identity via your GitHub account. Permissions to create new jobs,
edit existing jobs, run a build manually depend on your github account
be part of the Hibernate organization (or not, in which case you have
read only status)
At this stage I'd like to get a feeling if the hardware is powerful
enough, and also we need to select which other plugins we want to use,
I'm looking especially to:
- static analysis reports
- pull requests integration
both are relatively undefined, we can of course start simple and
improve later.. just checking this fits basic needs now.
Sanne
2 months, 3 weeks
Jenkins upgrade
by Yoann Rodiere
Hello,
TL;DR: I just updated Jenkins and its plugins. If things stop working
correctly, please let me know.
Some details below, in case I'm not here when things start to break down...
I updated Jenkins and its plugins to the latest versions, hoping to fix the
problem we've been having lately where we would only ever get a single EC2
slave.
The result was an AWS EC2 plugin that started many, many EC2 slaves, but on
the Jenkins side mapped all slaves to the same URL, which resulted in
multiple builds running concurrently on the same EC2 instance, which
obviously resulted in many failures.
I rolled back the AWS EC2 plugin from 1.42 to 1.39 (like I had to do a few
weeks ago), and things to be back to normal. It even works better than
before I attempted the upgrade: the plugin correctly spawns multiple slaves
as required.
Frankly I don't understand what is going on, but it works again so I'll
stop touching it. I suppose I should take the time to investigate, attempt
to reproduce the problem and report it to the plugin maintainers. I
currently do not have a few days to spare for that, so it'll wait...
For the record, I also had to do the following during the upgrade:
- I had to update the AWS permissions for the EC2 plugin:
https://wiki.jenkins.io/display/JENKINS/Amazon+EC2+Plugin#AmazonEC2Plugin...
- I had to install a plugin to ensure running builds are no longer
allowed to do whatever they want (~root permissions):
https://jenkins.io/doc/book/system-administration/security/build-authoriz...
Cheers,
Yoann Rodière
Hibernate NoORM Team
yoann(a)hibernate.org
6 years, 8 months
[ORM] Do we have a way to check if an object is an entity?
by Guillaume Smet
Hi,
In Hibernate Validator, we have a TraversableResolver which avoids to
validate the uninitialized properties of an entity.
This is done in
https://github.com/hibernate/hibernate-validator/blob/master/engine/src/m...
and, as you can see, we execute Persistence.getPersistenceUtil().isLoaded(
traversableObject, traversableProperty.getName() ) even if the
traversableObject has nothing to do with Hibernate ORM.
I'm looking for an API that could tell me if an object is a class
potentially managed by ORM (be it an entity, an embeddable or whatever: any
class potentially containing a lazy field).
I was thinking that maybe injecting an EntityManagerFactory (it would
require CDI though) and using the Metamodel could somehow work... but the
PersistenceUtil API we currently use is capable of dealing with several
persistence providers and I don't think the injected EntityManagerFactory
approach will fly in this case.
Is there something I could use to do that, that would be portable and cover
the cases currently (somehow) taken care of?
Any ideas welcome.
Thanks!
--
Guillaume
6 years, 8 months
NoORM IRC meeting minutes
by Guillaume Smet
Hi,
Here are the minutes of this week's NoORM IRC meeting minutes.
Once again, the bot wasn't there so it's all plain text all over again:
=======================
15:10 < gsmet> #topic Progress Fabio
15:10 < fax4ever> They have been a very intense two weeks.
15:10 < fax4ever> In my opinion the work on Hibernate Search 6 is going
strong.
15:10 < fax4ever> Let's start saying that I've solved some minor issues.
15:10 < fax4ever> I did a little fix on our massive indexer,
15:11 < fax4ever> I made some tests on dates stronger
15:11 -!- yrodiere [~yrodiere@2a01:e0a:85:4730:1dd8:d366:9f88:fa94] has
joined #hibernate-dev
15:11 < fax4ever> and I added a test to check the mapping of annotations
15:11 < fax4ever> that are defined in default interface methods.
15:11 < fax4ever> Moreover, I completed the previous work on handling
15:11 < fax4ever> the 'minimumShouldMatch' default parameter mismatch,
15:12 < fax4ever> adding a missed test to check the out-of-bound
15:12 < fax4ever> of a given minimal-should-match.
15:12 < fax4ever> The bigger issue this time was the one to handle the
'indexNullAs' mapping option
15:12 < fax4ever> and provide a default value for a property of any type in
case of null value.
15:12 < fax4ever> It had a consistent impact both on backends and mapping
side.
15:12 < fax4ever> Since the mapping has the role here to convert, parse or
validate
15:12 < fax4ever> annotation attribute strings in any supported backend
field type values.
15:13 < fax4ever> Furthermore, another issue I did was the one to handle in
a more consistent way
15:13 < fax4ever> what happens when we have a query on a text field
15:13 < fax4ever> insisting on multiple indexes and such indexes use
different analyzers.
15:13 < fax4ever> Finally, I started to to test the full attribute
validation
15:13 < fax4ever> of a given Elasticsearch schema.
15:13 < fax4ever> This is all for the progress topic, thanks.
15:14 < fax4ever> I think we can move on the next topic, please.
15:14 < gsmet> #topic Next 2 weeks Fabio
15:14 < fax4ever> Looking at the current sprint: `HSEARCH - 2019-07` board,
15:14 < fax4ever> anyone can find what is planned for the next two weeks.
15:14 < fax4ever> I'll provide you a brief summary here.
15:15 < fax4ever> Please take in account that I'll have two public holidays
15:15 < fax4ever> days in the last two weeks.
15:15 < fax4ever> I'm going to finish to provide a test for each attribute
15:15 < fax4ever> of any given Elasticsearch schema.
15:13 < fax4ever> This is all for the progress topic, thanks.
15:14 < fax4ever> I think we can move on the next topic, please.
15:14 < gsmet> #topic Next 2 weeks Fabio
15:14 < fax4ever> Looking at the current sprint: `HSEARCH - 2019-07` board,
15:14 < fax4ever> anyone can find what is planned for the next two weeks.
15:14 < fax4ever> I'll provide you a brief summary here.
15:15 < fax4ever> Please take in account that I'll have two public holidays
15:15 < fax4ever> days in the last two weeks.
15:15 < fax4ever> I'm going to finish to provide a test for each attribute
15:15 < fax4ever> of any given Elasticsearch schema.
15:15 < fax4ever> Then I'll try to use the built-in normalize Lucene method
again.
15:15 < fax4ever> This time I'll use some insights provided by Yoann.
15:16 < fax4ever> After that I'll handle some other minor issues:
15:16 < fax4ever> thread safe fixes and ORM session synchronization.
15:16 < fax4ever> Finally, I would like to implement the support of
BigDecimal and BigInteger.
15:16 < fax4ever> But I'm not sure I will be able to finish it in the next
two weeks.
15:16 < fax4ever> That's all from me. Thanks
15:16 < gsmet> thanks
15:17 < gsmet> #topic Progress Koen
15:17 < koentsje> i have been working mostly on the quarkus tooling
15:17 < koentsje> i finished the contribution guide
15:18 < koentsje> and after adding all the legal stuff i finally made my
private repository public
15:18 < koentsje> i have added another plugin for containing the cheat
sheets and started working on the first one
15:19 < koentsje> that is supposed to be nothing else than the quarkus
quickstart
15:19 < koentsje> i also did some minor maintenance work on both the
hibernate eclipse tools and the core hibernate tools projects
15:19 < koentsje> updating dependencies etc
15:19 -!- rvansa [rvansa@nat/redhat/x-qrkdghwyrowutzhr] has joined
#hibernate-dev
15:20 < koentsje> and i have started to investigate how to use the reddeer
tools to setup some integration testing for the quarkus tools
15:20 < koentsje> that’s about what i did past 2 weeks
15:21 < gsmet> #topic Next 2 weeks Koen
15:21 < koentsje> i desperately want to setup continuous integration but i
might want some help with that
15:22 < koentsje> futher i need to elaborate the create project wizard so
that it becomes foolproof and that more options are possible
15:22 < koentsje> next i need to finish the first cheat sheet and possible
add more
15:23 < koentsje> and i want to also create a reddeer test plugin to do the
integration testing
15:23 < yrodiere> I can help with CI if you want to use Jenkins pipelines.
Not sure it will be easy in your case though, given you may need Eclipse
and all that.
15:23 < koentsje> yrodiere, that would be most certainly appreciated
15:24 < fax4ever> me too
15:24 < koentsje> further, i want to study gradle a little bit as i might
switch the hibernate tools build from maven to gradle
15:24 < yrodiere> (just ping me when you want to talk about it)
15:25 < koentsje> and if there is still time there is some boring stuff to
do in the hibernate eclipse tooling: adding license and copyright headers
15:25 < koentsje> that should be more than enough for the next two weeks
15:25 < gsmet> ok, thanks
15:25 < gsmet> #topic Progress Guillaume
15:25 < gsmet> I didn't do much on the Hibernate front
15:25 < koentsje> yrodiere, we might talk next friday during the hangout if
you are present?
15:25 < yrodiere> koentsje: sure
15:26 < gsmet> I'm working on reviewing a Validator PR
15:26 < gsmet> I also reviewed a couple of Search PRs
15:27 < gsmet> oh, and I released ORM 5.3.10 (well, I pushed the button,
Gail did the rest of the work)
15:27 < gsmet> #topic Next 2 weeks Guillaume
15:27 < gsmet> I will release Quarkus 0.14.0 tomorrow
15:27 < gsmet> I want to have the Search extension in 0.15.0 so I will have
a 2 weeks window to merge it
15:28 < gsmet> I would like to have an alpha of the ongoing work by then
15:28 < gsmet> as there is a change in the configuration (version vs
dialect)
15:28 < gsmet> yrodiere: is the next alpha planned for the end of this week?
15:28 < yrodiere> that should be doable, but I'd advice to first merge it,
then open a second PR with this change
15:29 < yrodiere> Otherwise we'll always be waiting for one thing or
another :)
15:29 < gsmet> yeah, whatever comes first
15:29 < gsmet> I'll create the PR as soon as I have everything working
15:29 < yrodiere> I wanted to do it the week after that, but I can do it
earlier if necessary
15:29 < yrodiere> master is always ready for a release anyway :)
15:29 < gsmet> I just want to be sure I'll have the alpha with the version
stuff before the "official" Quarkus release
15:30 < yrodiere> Which is when?
15:30 < gsmet> probably around May 8th
15:30 < gsmet> so it would work with your schedule
15:31 < gsmet> but I will be on vacation from May 3rd to May 9th
15:31 < gsmet> so I would need to get the PR ready by then and get it in
15:32 < gsmet> btw ^ PTO from May 3rd to May 9th
15:32 < yrodiere> ok
15:32 < gsmet> that's pretty much if for me
15:32 < gsmet> #topic Progress Yoann
15:32 < yrodiere> So, hi and sorry I joined late, I was reviewing a PR and
forgot about the meeting
15:32 < yrodiere> Not much progress on my side since I only worked four
days because of PTO and public holidays
15:33 < yrodiere> I reviewed a bunch of PRs
15:33 < yrodiere> Most of them were Fabio's, but one of them was from an
external contributor, who fixed a minor problem in the Elasticsearch
integration in 5.11
15:33 < yrodiere> Always nice to see external contributions
15:33 < yrodiere> I also had to work a bit on a java.time-related issue in
ORM: https://github.com/hibernate/hibernate-orm/pull/2835
15:33 < jbossbot> git pull req [hibernate-orm] (open) Yoann Rodière
HHH-13357 OffsetTimeTest fails using TimeAsTimestampRemappingH2Dialect in
non-GMT European time zones
https://github.com/hibernate/hibernate-orm/pull/2835
15:33 < jbossbot> jira [HHH-13357] OffsetTimeTest fails using
TimeAsTimestampRemappingH2Dialect in non-GMT European time zones [Open
(Unresolved) Bug, Major, hibernate-core, Yoann Rodière]
https://hibernate.atlassian.net/browse/HHH-13357
15:33 < yrodiere> Apart from that, I added support for Elasticsearch 6.7 in
Hibernate Search
15:33 < gsmet> you can't help it apparently :)
15:34 < yrodiere> the failing test was one I added, I kinda had to have a
look :/
15:34 < yrodiere> ES6.7 support required to make the dialect system in the
Elasticsearch backend a bit more flexible, so that Quarkus users don't have
to specify a new dialect when migrating from 6.6 to 6.7
just to avoid a few server-side warnings
15:34 < yrodiere> that's also what will require us to re-release for Quarkus
15:34 < yrodiere> That took a bit of time but I eventually got there
15:35 < yrodiere> I also started to work on a way for users to explicitly
declare which properties they depend on in a given bridge:
https://hibernate.atlassian.net/browse/HSEARCH-3297
15:35 < jbossbot> jira [HSEARCH-3297] Add an API to declare reindexing
conditions in bridges [In Progress (Unresolved) New Feature, Major,
mapper-pojo, Yoann Rodière]
https://hibernate.atlassian.net/browse/HSEARCH-3297
15:35 < yrodiere> It will replace the accessor-based APIs, which was a bit
weird and will now be considered experimental.
15:35 < yrodiere> It should make writing bridges easier, though a bit more
dodgy too. We decided it was for the best in the F2F meeting.
15:35 < yrodiere> I'm not done yet, I'll finish this during the next two
weeks
15:35 < yrodiere> That's mostly it for the past two weeks.
15:36 < gsmet> #topic Next 2 weeks Yoann
15:36 < yrodiere> I'll first finish that work on the explicit declaration
of dependencies in bridges
15:36 < yrodiere> I also want to make support for ES 7 official, since they
officially released ES7
15:36 < gsmet> I was going to say that :)
15:36 < yrodiere> This shouldn't be much work since I already got it
working with Beta1
15:37 < yrodiere> apart from that...
15:37 < yrodiere> I have a bunch of tickets to expand on the current APIs
15:37 < yrodiere> like forcing users to declare which fields are
multi-valued
15:38 < yrodiere> preparing the DSL for the introduction of query-wide
extensions, such as what we'll have to do later for aggregations in
Elasticsearch
15:38 < yrodiere> things like that
15:38 < yrodiere> and well, there's the release
15:38 < yrodiere> that's all from me
15:39 < gsmet> ok, thanks!
15:39 < gsmet> thanks everyone
6 years, 8 months
JDK 13 - Early Access build 17 is available
by Rory O'Donnell
*Hi Sanne, *
*OpenJDK builds *- JDK 13 - Early Access build 17 is available at
http://jdk.java.net/13/
* 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 in this build
<http://hg.openjdk.java.net/jdk/jdk/log?rev=reverse%28%22jdk-13%2B16%22%3A...>
* Release notes [1]
*Significant changes since the last availability email*
* build 16 - Update the default enabled cipher suites preference
(JDK-8163326 <https://bugs.openjdk.java.net/browse/JDK-8163326>)
* build 16 - Add new keytool -showinfo -tls command for displaying TLS
configuration information (JDK-8219861
<https://bugs.openjdk.java.net/browse/JDK-8219861>)
* build 15 -*New Japanese Era Name **(JDK-8205432
<https://bugs.openjdk.java.net/browse/JDK-8205432>)*
* build 15 - Accessing REIWA era in java.time.chrono.JapaneseEra
(JDK-8174268 <https://bugs.openjdk.java.net/browse/JDK-8174268>)
* build 15 - Duplicated RSA services are no longer supported by
SunJSSE provider (JDK-8220016
<https://bugs.openjdk.java.net/browse/JDK-8220016>)
* build 15 - Use server cipher suites preference by default
(JDK-8168261 <https://bugs.openjdk.java.net/browse/JDK-8168261>)
* build 15 - The Swing Motif Look and Feel is deprecated and
unsupported on macOS (JDK-8177960
<https://bugs.openjdk.java.net/browse/JDK-8177960>)
* build 15 - Remove support for javadoc "frames" mode (JDK-8215599
<https://bugs.openjdk.java.net/browse/JDK-8215599>)
Bug fix reported by Open Source Projects :
* build 15 - Unable to read certain PKCS12 keystores from
SequenceInputStream (JDK-8157404)
<https://bugs.openjdk.java.net/browse/JDK-8157404>
*April 2019 CPU Released*
* As part of the Apr 2019 Critical Patch Update we released OpenJDK
12.0.1 under the GNU General Public License, version 2, with the
Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. [2]
* One change previously announced in the Java Cryptographic Roadmap [3]
*Request for feedback *- switch expressions in JDK 12 , feedback via
amber-dev list [4]
Rgds,Rory
[1] http://jdk.java.net/13/release-notes
[2] http://jdk.java.net/12
[3] https://java.com/en/jre-jdk-cryptoroadmap.html
[4] https://mail.openjdk.java.net/pipermail/jdk-dev/2019-April/002770.html
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
6 years, 9 months
HHH-13364
by Gail Badner
EntityManager#find and Query#getResultList / #getSingleResult do not behave
consistently when failing to get a pessimistic lock with a timeout provided.
I think EntityManager#find is working correctly, and I think
Query#getResultList / #getSingleResult should be consistent with
EntityManager#find.
Could someone please take a look at HHH-13364 and let me know if I'm
missing something?
I've also created a pull request with tests and fix:
https://github.com/hibernate/hibernate-orm/pull/2827
Thanks,
Gail
6 years, 9 months