diff --git a/Tools/packages.config b/Tools/packages.config
index 5d0a1029d51..023ab631f6d 100644
--- a/Tools/packages.config
+++ b/Tools/packages.config
@@ -7,7 +7,7 @@
-
+
diff --git a/src/NHibernate.Test/Async/Cascade/Circle/MultiPathCircleCascadeTest.cs b/src/NHibernate.Test/Async/Cascade/Circle/MultiPathCircleCascadeTest.cs
index 83876eb50c7..b753abf1b54 100644
--- a/src/NHibernate.Test/Async/Cascade/Circle/MultiPathCircleCascadeTest.cs
+++ b/src/NHibernate.Test/Async/Cascade/Circle/MultiPathCircleCascadeTest.cs
@@ -155,6 +155,7 @@ public async Task MergeEntityWithNonNullableEntityNullAsync()
await (session.MergeAsync(route, cancellationToken));
Assert.Fail("should have thrown an exception");
}
+ catch (OperationCanceledException) { throw; }
catch (Exception ex)
{
Assert.That(ex, Is.TypeOf(typeof(PropertyValueException)));
diff --git a/src/NHibernate.Test/Async/DebugConnectionProvider.cs b/src/NHibernate.Test/Async/DebugConnectionProvider.cs
index c2a626f7475..39f4ee9d6bf 100644
--- a/src/NHibernate.Test/Async/DebugConnectionProvider.cs
+++ b/src/NHibernate.Test/Async/DebugConnectionProvider.cs
@@ -30,6 +30,7 @@ public override async Task GetConnectionAsync(CancellationToken ca
connections.TryAdd(connection, 0);
return connection;
}
+ catch (OperationCanceledException) { throw; }
catch (Exception e)
{
throw new HibernateException("Could not open connection to: " + ConnectionString, e);
diff --git a/src/NHibernate/Async/AdoNet/AbstractBatcher.cs b/src/NHibernate/Async/AdoNet/AbstractBatcher.cs
index af6e471c854..9ac50481b66 100644
--- a/src/NHibernate/Async/AdoNet/AbstractBatcher.cs
+++ b/src/NHibernate/Async/AdoNet/AbstractBatcher.cs
@@ -123,6 +123,7 @@ public async Task ExecuteNonQueryAsync(DbCommand cmd, CancellationToken can
{
return await (cmd.ExecuteNonQueryAsync(cancellationToken)).ConfigureAwait(false);
}
+ catch (OperationCanceledException) { throw; }
catch (Exception e)
{
e.Data["actual-sql-query"] = cmd.CommandText;
@@ -150,6 +151,7 @@ public virtual async Task ExecuteReaderAsync(DbCommand cmd, Cancel
{
reader = await (cmd.ExecuteReaderAsync(cancellationToken)).ConfigureAwait(false);
}
+ catch (OperationCanceledException) { throw; }
catch (Exception e)
{
e.Data["actual-sql-query"] = cmd.CommandText;
diff --git a/src/NHibernate/Async/Collection/Generic/PersistentGenericIdentifierBag.cs b/src/NHibernate/Async/Collection/Generic/PersistentGenericIdentifierBag.cs
index 99eac211529..6573a8f8509 100644
--- a/src/NHibernate/Async/Collection/Generic/PersistentGenericIdentifierBag.cs
+++ b/src/NHibernate/Async/Collection/Generic/PersistentGenericIdentifierBag.cs
@@ -193,6 +193,7 @@ public override async Task PreInsertAsync(ICollectionPersister persister, Cancel
}
}
}
+ catch (OperationCanceledException) { throw; }
catch (Exception sqle)
{
throw new ADOException("Could not generate idbag row id.", sqle);
diff --git a/src/NHibernate/Async/Connection/DriverConnectionProvider.cs b/src/NHibernate/Async/Connection/DriverConnectionProvider.cs
index 1523e597d3f..4c3358a5943 100644
--- a/src/NHibernate/Async/Connection/DriverConnectionProvider.cs
+++ b/src/NHibernate/Async/Connection/DriverConnectionProvider.cs
@@ -39,6 +39,7 @@ public override async Task GetConnectionAsync(CancellationToken ca
conn.ConnectionString = ConnectionString;
await (conn.OpenAsync(cancellationToken)).ConfigureAwait(false);
}
+ catch (OperationCanceledException) { throw; }
catch (Exception)
{
conn.Dispose();
diff --git a/src/NHibernate/Async/Context/ThreadLocalSessionContext.cs b/src/NHibernate/Async/Context/ThreadLocalSessionContext.cs
index a2ebec50be5..01fada343b8 100644
--- a/src/NHibernate/Async/Context/ThreadLocalSessionContext.cs
+++ b/src/NHibernate/Async/Context/ThreadLocalSessionContext.cs
@@ -38,6 +38,7 @@ private static async Task CleanupAnyOrphanedSessionAsync(ISessionFactory factory
{
await (orphan.Transaction.RollbackAsync(cancellationToken)).ConfigureAwait(false);
}
+ catch (OperationCanceledException) { throw; }
catch (Exception ex)
{
log.Debug(ex, "Unable to rollback transaction for orphaned session");
@@ -45,6 +46,7 @@ private static async Task CleanupAnyOrphanedSessionAsync(ISessionFactory factory
}
orphan.Close();
}
+ catch (OperationCanceledException) { throw; }
catch (Exception ex)
{
log.Debug(ex, "Unable to close orphaned session");
diff --git a/src/NHibernate/Async/Dialect/Lock/SelectLockingStrategy.cs b/src/NHibernate/Async/Dialect/Lock/SelectLockingStrategy.cs
index 700ca82e6ad..1aaf3f93250 100644
--- a/src/NHibernate/Async/Dialect/Lock/SelectLockingStrategy.cs
+++ b/src/NHibernate/Async/Dialect/Lock/SelectLockingStrategy.cs
@@ -64,6 +64,7 @@ public async Task LockAsync(object id, object version, object obj, ISessionImple
session.Batcher.CloseCommand(st, rs);
}
}
+ catch (OperationCanceledException) { throw; }
catch (HibernateException)
{
// Do not call Convert on HibernateExceptions
diff --git a/src/NHibernate/Async/Driver/NDataReader.cs b/src/NHibernate/Async/Driver/NDataReader.cs
index da0f878d864..954ee397a1d 100644
--- a/src/NHibernate/Async/Driver/NDataReader.cs
+++ b/src/NHibernate/Async/Driver/NDataReader.cs
@@ -60,6 +60,7 @@ public static async Task CreateAsync(DbDataReader reader, bool isMi
dataReader.results = resultList.ToArray();
}
+ catch (OperationCanceledException) { throw; }
catch (Exception e)
{
throw new ADOException("There was a problem converting an DbDataReader to NDataReader", e);
diff --git a/src/NHibernate/Async/Engine/Query/NativeSQLQueryPlan.cs b/src/NHibernate/Async/Engine/Query/NativeSQLQueryPlan.cs
index 8e0aa8630a6..2cf63ed75c9 100644
--- a/src/NHibernate/Async/Engine/Query/NativeSQLQueryPlan.cs
+++ b/src/NHibernate/Async/Engine/Query/NativeSQLQueryPlan.cs
@@ -96,6 +96,7 @@ public async Task PerformExecuteUpdateAsync(QueryParameters queryParameters
}
}
}
+ catch (OperationCanceledException) { throw; }
catch (HibernateException)
{
throw;
diff --git a/src/NHibernate/Async/Hql/Ast/ANTLR/Exec/AbstractStatementExecutor.cs b/src/NHibernate/Async/Hql/Ast/ANTLR/Exec/AbstractStatementExecutor.cs
index 2df56664ab1..f3300c08454 100644
--- a/src/NHibernate/Async/Hql/Ast/ANTLR/Exec/AbstractStatementExecutor.cs
+++ b/src/NHibernate/Async/Hql/Ast/ANTLR/Exec/AbstractStatementExecutor.cs
@@ -114,6 +114,7 @@ protected virtual async Task DropTemporaryTableIfNecessaryAsync(IQueryable persi
ps = await (session.Batcher.PrepareCommandAsync(CommandType.Text, commandText, Array.Empty(), cancellationToken)).ConfigureAwait(false);
await (session.Batcher.ExecuteNonQueryAsync(ps, cancellationToken)).ConfigureAwait(false);
}
+ catch (OperationCanceledException) { throw; }
catch (Exception t)
{
log.Warn(t, "unable to cleanup temporary id table after use [{0}]", t);
@@ -150,6 +151,7 @@ public async Task DoWorkAsync(DbConnection connection, DbTransaction transaction
await (stmnt.ExecuteNonQueryAsync(cancellationToken)).ConfigureAwait(false);
session.Factory.Settings.SqlStatementLogger.LogCommand(stmnt, FormatStyle.Ddl);
}
+ catch (OperationCanceledException) { throw; }
catch (Exception t)
{
log.Debug(t, "unable to create temporary id table [{0}]", t.Message);
@@ -186,6 +188,7 @@ public async Task DoWorkAsync(DbConnection connection, DbTransaction transaction
await (stmnt.ExecuteNonQueryAsync(cancellationToken)).ConfigureAwait(false);
session.Factory.Settings.SqlStatementLogger.LogCommand(stmnt, FormatStyle.Ddl);
}
+ catch (OperationCanceledException) { throw; }
catch (Exception t)
{
log.Warn("unable to drop temporary id table after use [{0}]", t.Message);
diff --git a/src/NHibernate/Async/Id/Enhanced/TableGenerator.cs b/src/NHibernate/Async/Id/Enhanced/TableGenerator.cs
index 887a6064f32..be2da466fff 100644
--- a/src/NHibernate/Async/Id/Enhanced/TableGenerator.cs
+++ b/src/NHibernate/Async/Id/Enhanced/TableGenerator.cs
@@ -101,6 +101,7 @@ public override async Task