Hangfire.FluentNHibernateStorage 1.2.1050 reported the follow errors against an Oracle 19 database. I can provide more information about the Oracle environment as needed.
Going back to 1.2.1020 of Hangfire.FluentNHibernateStorage resolved the errors.
2022-05-02 13:35:06,490 [1] ERROR NHibernate.Transaction.ITransactionFactory - System transaction prepare phase failed
System.InvalidOperationException: Batcher still has opened ressources at time of processing from system transaction.
at NHibernate.AdoNet.ConnectionManager.BeginProcessingFromSystemTransaction(Boolean allowConnectionUsage)
at NHibernate.Transaction.AdoNetWithSystemTransactionFactory.SystemTransactionContext.Prepare(PreparingEnlistment preparingEnlistment)
2022-05-02 13:35:06,772 [1] WARN Hangfire.FluentNHibernateStorage.FluentNHibernateJobStorage - Issue with dual table
System.Transactions.TransactionAbortedException: The transaction has aborted. —> System.InvalidOperationException: Batcher still has opened ressources at time of processing from system transaction.
at NHibernate.AdoNet.ConnectionManager.BeginProcessingFromSystemTransaction(Boolean allowConnectionUsage)
at NHibernate.Transaction.AdoNetWithSystemTransactionFactory.SystemTransactionContext.Prepare(PreparingEnlistment preparingEnlistment)
— End of inner exception stack trace —
at System.Transactions.TransactionStateAborted.EndCommit(InternalTransaction tx)
at System.Transactions.CommittableTransaction.Commit()
at System.Transactions.TransactionScope.InternalDispose()
at System.Transactions.TransactionScope.Dispose()
at Hangfire.FluentNHibernateStorage.FluentNHibernateJobStorage.UseStatelessSessionInTransaction[T](Func`2 func)
at Hangfire.FluentNHibernateStorage.FluentNHibernateJobStorage.EnsureDualHasOneRow()
2022-05-02 13:35:06,787 [1] ERROR CI.HS.myMeal.Services.HangfireService - Failure starting Hangfire
System.Transactions.TransactionAbortedException: The transaction has aborted. —> System.InvalidOperationException: Batcher still has opened ressources at time of processing from system transaction.
at NHibernate.AdoNet.ConnectionManager.BeginProcessingFromSystemTransaction(Boolean allowConnectionUsage)