Skip to content

Commit 1b59742

Browse files
Fixing GrpcWorkerChannel concurrency bug (#10999)
1 parent 2d05bb4 commit 1b59742

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

release_notes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
-->
66

77
- Added the option to exclude test data from the `/functions` endpoint API response (#10943)
8+
- Fixing GrpcWorkerChannel concurrency bug

src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ internal partial class GrpcWorkerChannel : IRpcWorkerChannel, IDisposable
6565
private bool _disposing;
6666
private WorkerInitResponse _initMessage;
6767
private RpcWorkerChannelState _state;
68-
private IDictionary<string, Exception> _functionLoadErrors = new Dictionary<string, Exception>();
69-
private IDictionary<string, Exception> _metadataRequestErrors = new Dictionary<string, Exception>();
68+
private IDictionary<string, Exception> _functionLoadErrors = new ConcurrentDictionary<string, Exception>();
69+
private IDictionary<string, Exception> _metadataRequestErrors = new ConcurrentDictionary<string, Exception>();
7070
private ConcurrentDictionary<string, ExecutingInvocation> _executingInvocations = new();
7171
private IDictionary<string, BufferBlock<ScriptInvocationContext>> _functionInputBuffers = new ConcurrentDictionary<string, BufferBlock<ScriptInvocationContext>>();
7272
private ConcurrentDictionary<string, TaskCompletionSource<bool>> _workerStatusRequests = new ConcurrentDictionary<string, TaskCompletionSource<bool>>();

0 commit comments

Comments
 (0)