Skip to content

Commit 5b31fe3

Browse files
authored
Merge pull request #147 from koenbeuk/fixed-memory-leak
Fixed a possible memory leak caused by exceptions from pooled DB contexts
2 parents a7185e1 + 69ebd15 commit 5b31fe3

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

src/EntityFrameworkCore.Triggered/Internal/AfterSaveFailedTriggerDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public sealed class AfterSaveFailedTriggerDescriptor : ITriggerTypeDescriptor
1010
readonly Func<object, object, Exception?, CancellationToken, Task> _invocationDelegate;
1111
readonly Type _triggerType;
1212

13-
public AfterSaveFailedTriggerDescriptor(Type entityType, Exception exception)
13+
public AfterSaveFailedTriggerDescriptor(Type entityType)
1414
{
1515
var triggerType = typeof(IAfterSaveFailedTrigger<>).MakeGenericType(entityType);
1616
var triggerMethod = triggerType.GetMethod(nameof(IAfterSaveFailedTrigger<object>.AfterSaveFailed));

src/EntityFrameworkCore.Triggered/TriggerSession.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ public Task RaiseAfterSaveFailedTriggers(Exception exception, CancellationToken
201201
_afterSaveFailedTriggerContextDiscoveryStrategy = new NonCascadingTriggerContextDiscoveryStrategy("AfterSaveFailed");
202202
}
203203

204-
return RaiseTriggers(typeof(IAfterSaveFailedTrigger<>), exception, _afterSaveFailedTriggerContextDiscoveryStrategy, entityType => new AfterSaveFailedTriggerDescriptor(entityType, exception), cancellationToken);
204+
return RaiseTriggers(typeof(IAfterSaveFailedTrigger<>), exception, _afterSaveFailedTriggerContextDiscoveryStrategy, entityType => new AfterSaveFailedTriggerDescriptor(entityType), cancellationToken);
205205
}
206206

207207
public async Task RaiseAfterSaveFailedCompletedTriggers(Exception exception, CancellationToken cancellationToken)

test/EntityFrameworkCore.Triggered.Tests/Internal/AfterSaveFailedTriggerDescriptorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public void TriggerType_ReturnsConstructuredTriggerType()
1414
{
1515
var entityType = typeof(string);
1616
var exception = new Exception();
17-
var subject = new AfterSaveFailedTriggerDescriptor(entityType, exception);
17+
var subject = new AfterSaveFailedTriggerDescriptor(entityType);
1818

1919
Assert.Equal(typeof(IAfterSaveFailedTrigger<string>), subject.TriggerType);
2020
}
@@ -25,7 +25,7 @@ public async Task Execute_ForwardsCall()
2525
var entityType = typeof(string);
2626
var exception = new Exception();
2727
var triggerStub = new TriggerStub<string>();
28-
var subject = new AfterSaveFailedTriggerDescriptor(entityType, exception);
28+
var subject = new AfterSaveFailedTriggerDescriptor(entityType);
2929

3030
await subject.Invoke(triggerStub, new TriggerContextStub<string>(), exception, default);
3131

0 commit comments

Comments
 (0)