Re: [hibernate-dev] AvailableSettings.DISCARD_PC_ON_CLOSE and Transaction status
Check out this Jira issue that I integrated today: https://hibernate.atlassian.net/browse/HHH-11120 If we enable this property, all the underlying resources are released right away. Otherwise (the default option), resources are released when the transaction is ended (commit/rollback). If this fix was a mistake and we should not support this property, then we should deprecate it and remove it in a future release, right? Vlad On Wed, Sep 21, 2016 at 4:48 PM, Steve Ebersole wrote: > I have no idea what "I could make use of it" means in this context. Make > use of what? That setting? That setting has zero effect today, unless I > missed something. > > On Wed, Sep 21, 2016 at 8:33 AM Vlad Mihalcea > wrote: > >> I could make use of it in a non-JTA environment. I guess we need to think >> what should we do with the transaction status because now it's still >> active, but if we try to rollback, we'll get an exception because the >> connection was closed. >> >> Vlad >> >> On Wed, Sep 21, 2016 at 4:30 PM, Steve Ebersole >> wrote: >> >>> Sorry, *was* only valid for JTA. As you mentioned we handle this >>> differently today. >>> >>> >>> On Wed, Sep 21, 2016 at 8:29 AM Steve Ebersole >>> wrote: >>> DISCARD_PC_ON_CLOSE, as a concept, is only valid for JTA iirc. On Wed, Sep 21, 2016 at 8:11 AM Vlad Mihalcea wrote: > Hi, > > While reviewing and adding a test case for > https://hibernate.atlassian.net/browse/HHH-11120, > I realized that if we enable the AvailableSettings.DISCARD_PC_ON_CLOSE > property, > the database connection gets closed when the EntityManager is closed, > while > the EntityTransaction status remains ACTIVE. > > I noticed that in the call: > > currentHibernateTransaction.invalidate(); > > But this method is no-op and deprecated as well. > > Is this behavior intended? If the database connection was closed, at > least > for RESOURCE_LOCAL, on most RDBMS engines, the underlying transaction > gets > rolled back as well. > For JTA, the connection might still be open and allocated to the > current > user since the TM controls when the resources are to be released. > > Should we leave this behavior like that? > > Vlad > ___ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > >> ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev
Re: [hibernate-dev] AvailableSettings.DISCARD_PC_ON_CLOSE and Transaction status
I have no idea what "I could make use of it" means in this context. Make use of what? That setting? That setting has zero effect today, unless I missed something. On Wed, Sep 21, 2016 at 8:33 AM Vlad Mihalcea wrote: > I could make use of it in a non-JTA environment. I guess we need to think > what should we do with the transaction status because now it's still > active, but if we try to rollback, we'll get an exception because the > connection was closed. > > Vlad > > On Wed, Sep 21, 2016 at 4:30 PM, Steve Ebersole > wrote: > >> Sorry, *was* only valid for JTA. As you mentioned we handle this >> differently today. >> >> >> On Wed, Sep 21, 2016 at 8:29 AM Steve Ebersole >> wrote: >> >>> DISCARD_PC_ON_CLOSE, as a concept, is only valid for JTA iirc. >>> >>> On Wed, Sep 21, 2016 at 8:11 AM Vlad Mihalcea >>> wrote: >>> Hi, While reviewing and adding a test case for https://hibernate.atlassian.net/browse/HHH-11120, I realized that if we enable the AvailableSettings.DISCARD_PC_ON_CLOSE property, the database connection gets closed when the EntityManager is closed, while the EntityTransaction status remains ACTIVE. I noticed that in the call: currentHibernateTransaction.invalidate(); But this method is no-op and deprecated as well. Is this behavior intended? If the database connection was closed, at least for RESOURCE_LOCAL, on most RDBMS engines, the underlying transaction gets rolled back as well. For JTA, the connection might still be open and allocated to the current user since the TM controls when the resources are to be released. Should we leave this behavior like that? Vlad ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev >>> > ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev
Re: [hibernate-dev] AvailableSettings.DISCARD_PC_ON_CLOSE and Transaction status
I could make use of it in a non-JTA environment. I guess we need to think what should we do with the transaction status because now it's still active, but if we try to rollback, we'll get an exception because the connection was closed. Vlad On Wed, Sep 21, 2016 at 4:30 PM, Steve Ebersole wrote: > Sorry, *was* only valid for JTA. As you mentioned we handle this > differently today. > > > On Wed, Sep 21, 2016 at 8:29 AM Steve Ebersole > wrote: > >> DISCARD_PC_ON_CLOSE, as a concept, is only valid for JTA iirc. >> >> On Wed, Sep 21, 2016 at 8:11 AM Vlad Mihalcea >> wrote: >> >>> Hi, >>> >>> While reviewing and adding a test case for >>> https://hibernate.atlassian.net/browse/HHH-11120, >>> I realized that if we enable the AvailableSettings.DISCARD_PC_ON_CLOSE >>> property, >>> the database connection gets closed when the EntityManager is closed, >>> while >>> the EntityTransaction status remains ACTIVE. >>> >>> I noticed that in the call: >>> >>> currentHibernateTransaction.invalidate(); >>> >>> But this method is no-op and deprecated as well. >>> >>> Is this behavior intended? If the database connection was closed, at >>> least >>> for RESOURCE_LOCAL, on most RDBMS engines, the underlying transaction >>> gets >>> rolled back as well. >>> For JTA, the connection might still be open and allocated to the current >>> user since the TM controls when the resources are to be released. >>> >>> Should we leave this behavior like that? >>> >>> Vlad >>> ___ >>> hibernate-dev mailing list >>> hibernate-dev@lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/hibernate-dev >>> >> ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev
Re: [hibernate-dev] AvailableSettings.DISCARD_PC_ON_CLOSE and Transaction status
Sorry, *was* only valid for JTA. As you mentioned we handle this differently today. On Wed, Sep 21, 2016 at 8:29 AM Steve Ebersole wrote: > DISCARD_PC_ON_CLOSE, as a concept, is only valid for JTA iirc. > > On Wed, Sep 21, 2016 at 8:11 AM Vlad Mihalcea > wrote: > >> Hi, >> >> While reviewing and adding a test case for >> https://hibernate.atlassian.net/browse/HHH-11120, >> I realized that if we enable the AvailableSettings.DISCARD_PC_ON_CLOSE >> property, >> the database connection gets closed when the EntityManager is closed, >> while >> the EntityTransaction status remains ACTIVE. >> >> I noticed that in the call: >> >> currentHibernateTransaction.invalidate(); >> >> But this method is no-op and deprecated as well. >> >> Is this behavior intended? If the database connection was closed, at least >> for RESOURCE_LOCAL, on most RDBMS engines, the underlying transaction gets >> rolled back as well. >> For JTA, the connection might still be open and allocated to the current >> user since the TM controls when the resources are to be released. >> >> Should we leave this behavior like that? >> >> Vlad >> ___ >> hibernate-dev mailing list >> hibernate-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/hibernate-dev >> > ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev
Re: [hibernate-dev] AvailableSettings.DISCARD_PC_ON_CLOSE and Transaction status
DISCARD_PC_ON_CLOSE, as a concept, is only valid for JTA iirc. On Wed, Sep 21, 2016 at 8:11 AM Vlad Mihalcea wrote: > Hi, > > While reviewing and adding a test case for > https://hibernate.atlassian.net/browse/HHH-11120, > I realized that if we enable the AvailableSettings.DISCARD_PC_ON_CLOSE > property, > the database connection gets closed when the EntityManager is closed, while > the EntityTransaction status remains ACTIVE. > > I noticed that in the call: > > currentHibernateTransaction.invalidate(); > > But this method is no-op and deprecated as well. > > Is this behavior intended? If the database connection was closed, at least > for RESOURCE_LOCAL, on most RDBMS engines, the underlying transaction gets > rolled back as well. > For JTA, the connection might still be open and allocated to the current > user since the TM controls when the resources are to be released. > > Should we leave this behavior like that? > > Vlad > ___ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev
[hibernate-dev] AvailableSettings.DISCARD_PC_ON_CLOSE and Transaction status
Hi, While reviewing and adding a test case for https://hibernate.atlassian.net/browse/HHH-11120, I realized that if we enable the AvailableSettings.DISCARD_PC_ON_CLOSE property, the database connection gets closed when the EntityManager is closed, while the EntityTransaction status remains ACTIVE. I noticed that in the call: currentHibernateTransaction.invalidate(); But this method is no-op and deprecated as well. Is this behavior intended? If the database connection was closed, at least for RESOURCE_LOCAL, on most RDBMS engines, the underlying transaction gets rolled back as well. For JTA, the connection might still be open and allocated to the current user since the TM controls when the resources are to be released. Should we leave this behavior like that? Vlad ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev