[hibernate-dev] Changing method signatures in micro releases

Gail Badner gbadner at redhat.com
Fri May 23 18:08:45 EDT 2014


My changes for HHH-9204 and HHH-9205 need to be pushed to 4.2, 4.3, and master. This needs to happen by early next week so it can be released in 4.2.13.Final on Wednesday.

I want to make sure that my change fixes the regression introduced into 4.3.5 and 4.2.12, without breaking the fix that Gunnar made for OGM.

Gunnar, can you check my pull request at https://github.com/hibernate/hibernate-orm/pull/747 and make sure it doesn't break something for you?

Thanks!
Gail

----- Original Message -----
> From: "Gail Badner" <gbadner at redhat.com>
> To: "Steve Ebersole" <steve at hibernate.org>
> Cc: hibernate-dev at lists.jboss.org
> Sent: Monday, May 19, 2014 3:16:56 PM
> Subject: Re: [hibernate-dev] Changing method signatures in micro releases
> 
> It was a simple matter to restore the old the method and provide a default
> implementation of the method added by HHH-9078.
> 
> I've create the following issues:
> 
> For master, 4.3, and 4.2 (because HHH-9078 was fixed on master, 4.3, and
> 4.2):
> HHH-9204: Restore
> AbstractCollectionPersister.doProcessQueuedOps(PersistentCollection,
> Serializable, SessionImplementor)
> HHH-9205: Deprecate
> AbstractCollectionPersister.doProcessQueuedOps(PersistentCollection,
> Serializable, int, SessionImplementor)
> 
> For master only:
> HHH-9206: Remove
> AbstractCollectionPersister.doProcessQueuedOps(PersistentCollection,
> Serializable, int, SessionImplementor)
> 
> Steve, I'm not 100% I did the right thing for HHH-9204 and HHH-9205, so
> please take a look at the pull request:
> https://github.com/hibernate/hibernate-orm/pull/747
> 
> Thanks,
> Gail
> 
> ----- Original Message -----
> > From: "Gail Badner" <gbadner at redhat.com>
> > To: "Gunnar Morling" <gunnar at hibernate.org>
> > Cc: hibernate-dev at lists.jboss.org
> > Sent: Monday, May 19, 2014 12:34:09 PM
> > Subject: Re: [hibernate-dev] Changing method signatures in micro releases
> > 
> > Hi Gunnar,
> > 
> > Thanks for mentioning this. I believe that
> > org.hibernate.persister.collection
> > and org.hibernate.persister.entity are considered APIs, which should
> > definitely be backward-compatible for micro releases.
> > 
> > I'm looking at some alternatives to mitigate that. My first thought is that
> > the fix for HHH-9078 should have been made only to OneToManyPersister, so
> > that AbstractCollectionPersister would not be affected. If this is
> > possible,
> > I will add the old method back and deprecate the new one that caused you
> > trouble.
> > 
> > I'll let you know what I find.
> > 
> > Regards,
> > Gail
> > 
> > ----- Original Message -----
> > > From: "Gunnar Morling" <gunnar at hibernate.org>
> > > To: hibernate-dev at lists.jboss.org
> > > Sent: Monday, May 19, 2014 12:28:38 AM
> > > Subject: [hibernate-dev] Changing method signatures in micro releases
> > > 
> > > Hi,
> > > 
> > > When updating Hibernate OGM to make use of ORM 4.3.5, I noticed a changed
> > > method signature in AbstractCollectionPersister (abstract
> > > method doProcessQueuedOps() has a new parameter).
> > > 
> > > This causes a compilation failure in OGM, as we naturally still override
> > > the old signature. I can solve this particular case in a compatible
> > > manner
> > > by declaring both variants of the method in our sub-class (omitting the
> > > @Override annotation), but I'm wondering how we should generally deal
> > > with
> > > this kind of issue.
> > > 
> > > Are micro-releases considered strictly backwards-compatible, so that e.g.
> > > all of ORM 4.3.x should be useable together with an integrator (such as
> > > OGM) known to work with 4.3.0? This would have been my assumption
> > > originally.
> > > 
> > > Are there any rules for what kind of changes are to be expected by an ORM
> > > micro/minor/major update?
> > > 
> > > Thanks,
> > > 
> > > --Gunnar
> > > _______________________________________________
> > > hibernate-dev mailing list
> > > hibernate-dev at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/hibernate-dev
> > > 
> > _______________________________________________
> > hibernate-dev mailing list
> > hibernate-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
> > 
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> 


More information about the hibernate-dev mailing list