diff --git a/src/HotChocolate/Core/src/Execution/Instrumentation/AggregateExecutionDiagnosticEvents.cs b/src/HotChocolate/Core/src/Execution/Instrumentation/AggregateExecutionDiagnosticEvents.cs
index 0afcda85c05..62316a8eb8c 100644
--- a/src/HotChocolate/Core/src/Execution/Instrumentation/AggregateExecutionDiagnosticEvents.cs
+++ b/src/HotChocolate/Core/src/Execution/Instrumentation/AggregateExecutionDiagnosticEvents.cs
@@ -193,11 +193,11 @@ public void ResolverError(IMiddlewareContext context, IError error)
}
}
- public void ResolverError(IOperation operation, ISelection selection, IError error)
+ public void ResolverError(IRequestContext context, ISelection selection, IError error)
{
for (var i = 0; i < _listeners.Length; i++)
{
- _listeners[i].ResolverError(operation, selection, error);
+ _listeners[i].ResolverError(context, selection, error);
}
}
diff --git a/src/HotChocolate/Core/src/Execution/Instrumentation/ExecutionDiagnosticEventListener.cs b/src/HotChocolate/Core/src/Execution/Instrumentation/ExecutionDiagnosticEventListener.cs
index fc39201baf3..7d7e35f6162 100644
--- a/src/HotChocolate/Core/src/Execution/Instrumentation/ExecutionDiagnosticEventListener.cs
+++ b/src/HotChocolate/Core/src/Execution/Instrumentation/ExecutionDiagnosticEventListener.cs
@@ -98,7 +98,7 @@ public virtual void ResolverError(IMiddlewareContext context, IError error)
}
///
- public virtual void ResolverError(IOperation operation, ISelection selection, IError error)
+ public virtual void ResolverError(IRequestContext context, ISelection selection, IError error)
{
}
diff --git a/src/HotChocolate/Core/src/Execution/Instrumentation/IExecutionDiagnosticEvents.cs b/src/HotChocolate/Core/src/Execution/Instrumentation/IExecutionDiagnosticEvents.cs
index 19d4d9958d2..99490f285f8 100644
--- a/src/HotChocolate/Core/src/Execution/Instrumentation/IExecutionDiagnosticEvents.cs
+++ b/src/HotChocolate/Core/src/Execution/Instrumentation/IExecutionDiagnosticEvents.cs
@@ -213,8 +213,9 @@ public interface IExecutionDiagnosticEvents
///
/// Called for field errors that do NOT occur within the resolver task.
///
- ///
- /// The operation that is being executed.
+ ///
+ /// The request context encapsulates all GraphQL-specific information about an
+ /// individual GraphQL request.
///
///
/// The selection that is affected by the error.
@@ -222,7 +223,11 @@ public interface IExecutionDiagnosticEvents
///
/// The error object.
///
- void ResolverError(IOperation operation, ISelection selection, IError error);
+ ///
+ /// Some field level errors are handled after the resolver was completed and this
+ /// are handled in the request scope.
+ ///
+ void ResolverError(IRequestContext context, ISelection selection, IError error);
///
/// Called when starting to run an execution engine task.
diff --git a/src/HotChocolate/Core/src/Execution/Instrumentation/NoopExecutionDiagnosticEvents.cs b/src/HotChocolate/Core/src/Execution/Instrumentation/NoopExecutionDiagnosticEvents.cs
index c8bec0f573c..498b3d445c9 100644
--- a/src/HotChocolate/Core/src/Execution/Instrumentation/NoopExecutionDiagnosticEvents.cs
+++ b/src/HotChocolate/Core/src/Execution/Instrumentation/NoopExecutionDiagnosticEvents.cs
@@ -56,7 +56,7 @@ public void ResolverError(IMiddlewareContext context, IError error)
{
}
- public void ResolverError(IOperation operation, ISelection selection, IError error)
+ public void ResolverError(IRequestContext context, ISelection selection, IError error)
{
}
diff --git a/src/HotChocolate/Core/src/Execution/Processing/OperationContext.Pooling.cs b/src/HotChocolate/Core/src/Execution/Processing/OperationContext.Pooling.cs
index 5213658f47e..e1b90703715 100644
--- a/src/HotChocolate/Core/src/Execution/Processing/OperationContext.Pooling.cs
+++ b/src/HotChocolate/Core/src/Execution/Processing/OperationContext.Pooling.cs
@@ -20,6 +20,7 @@ internal sealed partial class OperationContext
private readonly DeferredWorkScheduler _deferredWorkScheduler;
private readonly ResultBuilder _resultBuilder;
private readonly PooledPathFactory _pathFactory;
+ private IRequestContext _requestContext = default!;
private ISchema _schema = default!;
private IErrorHandler _errorHandler = default!;
private IActivator _activator = default!;
@@ -60,6 +61,7 @@ internal sealed partial class OperationContext
object? rootValue,
Func