On Sat, Jan 2, 2021 at 2:39 PM Florent Guillaume <fguilla...@nuxeo.com>
wrote:

> Hi Gary,
>
> I reproduce it too in my Eclipse. I think it's a bug in the test.
>
> The TransactionContext.transactionRef and the TransactionRegistry.caches
> are holding onto the Transaction (acquired in
> TransactionRegistry.getActiveTransactionContext()) only using weak refs.
> However in TestSynchronizationOrder the fake TransactionManager returns a
> Transaction (that's an instance of an anonymous class) but nobody holds a
> strong reference to that. I think that the fake TransactionManager should
> create the fake Transaction at begin() time, and hold onto it using a
> strong reference until commit() time.
>

Florent,

Thank you for your analysis.

May you please create a PR to bulletproof the test as you described?

Gary


> Florent
>
>
> On Tue, Dec 29, 2020 at 7:56 PM Gary Gregory <garydgreg...@gmail.com>
> wrote:
>
> > Hi All:
> >
> > I just saw on
> >
> >
> https://github.com/apache/commons-dbcp/runs/1622526568?check_suite_focus=true
> >
> > [INFO] Running org.apache.commons.dbcp2.managed.TestSynchronizationOrder
> > Error:  Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > 0.088 s <<< FAILURE! - in
> > org.apache.commons.dbcp2.managed.TestSynchronizationOrder
> > Error:  testInterposedSynchronization  Time elapsed: 0.077 s  <<< ERROR!
> > java.sql.SQLException: Unable to enlist connection because the
> transaction
> > has been garbage collected
> > at
> >
> >
> org.apache.commons.dbcp2.managed.TestSynchronizationOrder.testInterposedSynchronization(TestSynchronizationOrder.java:118)
> >
> > Is this random or a bug?
> >
> > Gary
> >
>
>
> --
> [image: Nuxeo Logo] <https://www.nuxeo.com/>
>
> Florent Guillaume  Head of R&D  [image: LinkedIn]
> <https://www.linkedin.com/in/fguillaume/> [image: Twitter]
> <https://twitter.com/efge> [image: Github] <https://github.com/efge>
>
> Nuxeo Content Services Platform. Stay ahead.
>

Reply via email to