@@ -377,9 +377,11 @@ async Task OnRunOrchestratorAsync(
377377 {
378378 case P . HistoryEvent . EventTypeOneofCase . SubOrchestrationInstanceCompleted :
379379 {
380- var subOrchestrationEvent = request . PastEvents
381- . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . SubOrchestrationInstanceCreated )
382- . LastOrDefault ( x => x . EventId == newEvent . SubOrchestrationInstanceCompleted . TaskScheduledId ) ;
380+ var subOrchestrationEvent =
381+ request
382+ . PastEvents
383+ . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . SubOrchestrationInstanceCreated )
384+ . FirstOrDefault ( x => x . EventId == newEvent . SubOrchestrationInstanceCompleted . TaskScheduledId ) ;
383385
384386 TraceHelper . EmitTraceActivityForSubOrchestrationCompleted (
385387 request . InstanceId ,
@@ -390,9 +392,11 @@ async Task OnRunOrchestratorAsync(
390392
391393 case P . HistoryEvent . EventTypeOneofCase . SubOrchestrationInstanceFailed :
392394 {
393- var subOrchestrationEvent = request . PastEvents
394- . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . SubOrchestrationInstanceCreated )
395- . LastOrDefault ( x => x . EventId == newEvent . SubOrchestrationInstanceFailed . TaskScheduledId ) ;
395+ var subOrchestrationEvent =
396+ request
397+ . PastEvents
398+ . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . SubOrchestrationInstanceCreated )
399+ . FirstOrDefault ( x => x . EventId == newEvent . SubOrchestrationInstanceFailed . TaskScheduledId ) ;
396400
397401 TraceHelper . EmitTraceActivityForSubOrchestrationFailed (
398402 request . InstanceId ,
@@ -404,14 +408,24 @@ async Task OnRunOrchestratorAsync(
404408
405409 case P . HistoryEvent . EventTypeOneofCase . TaskCompleted :
406410 {
407- var taskScheduledEvent = request . PastEvents . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . TaskScheduled ) . LastOrDefault ( x => x . EventId == newEvent . TaskCompleted . TaskScheduledId ) ;
411+ var taskScheduledEvent =
412+ request
413+ . PastEvents
414+ . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . TaskScheduled )
415+ . LastOrDefault ( x => x . EventId == newEvent . TaskCompleted . TaskScheduledId ) ;
416+
408417 TraceHelper . EmitTraceActivityForTaskCompleted ( request . InstanceId , taskScheduledEvent , taskScheduledEvent ? . TaskScheduled ) ;
409418 break ;
410419 }
411420
412421 case P . HistoryEvent . EventTypeOneofCase . TaskFailed :
413422 {
414- var taskScheduledEvent = request . PastEvents . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . TaskScheduled ) . LastOrDefault ( x => x . EventId == newEvent . TaskFailed . TaskScheduledId ) ;
423+ var taskScheduledEvent =
424+ request
425+ . PastEvents
426+ . Where ( x => x . EventTypeCase == P . HistoryEvent . EventTypeOneofCase . TaskScheduled )
427+ . LastOrDefault ( x => x . EventId == newEvent . TaskFailed . TaskScheduledId ) ;
428+
415429 TraceHelper . EmitTraceActivityForTaskFailed ( request . InstanceId , taskScheduledEvent , taskScheduledEvent ? . TaskScheduled , newEvent . TaskFailed ) ;
416430 break ;
417431 }
0 commit comments