@@ -18,10 +18,10 @@ use concepts::{
1818 ListLogsResponse , LockPendingResponse , Locked , LockedBy , LockedExecution , LogEntry ,
1919 LogEntryRow , LogFilter , LogInfoAppendRow , LogLevel , LogStreamType , Pagination ,
2020 PendingState , PendingStateBlockedByJoinSet , PendingStateFinished ,
21- PendingStateFinishedResultKind , PendingStateLocked , PendingStatePaused ,
22- PendingStatePendingAt , ResponseCursor , ResponseWithCursor , STATE_BLOCKED_BY_JOIN_SET ,
23- STATE_FINISHED , STATE_LOCKED , STATE_PENDING_AT , TimeoutOutcome , Version , VersionType ,
24- WasmBacktrace ,
21+ PendingStateFinishedResultKind , PendingStateLocked , PendingStateMergedPause ,
22+ PendingStatePaused , PendingStatePendingAt , ResponseCursor , ResponseWithCursor ,
23+ STATE_BLOCKED_BY_JOIN_SET , STATE_FINISHED , STATE_LOCKED , STATE_PENDING_AT , TimeoutOutcome ,
24+ Version , VersionType , WasmBacktrace ,
2525 } ,
2626} ;
2727use deadpool_postgres:: { Client , ManagerConfig , Pool , RecyclingMethod } ;
@@ -2830,11 +2830,16 @@ async fn append_response(
28302830 let combined_state = get_combined_state ( tx, execution_id) . await ?;
28312831 debug ! ( "previous_pending_state: {combined_state:?}" ) ;
28322832
2833- let mut notifier = if let PendingState :: BlockedByJoinSet ( PendingStateBlockedByJoinSet {
2834- join_set_id : found_join_set_id,
2835- lock_expires_at,
2836- closing : _,
2837- } ) = combined_state. execution_with_state . pending_state
2833+ let mut notifier = if let PendingStateMergedPause :: BlockedByJoinSet {
2834+ state :
2835+ PendingStateBlockedByJoinSet {
2836+ join_set_id : found_join_set_id,
2837+ lock_expires_at, // Set to a future time if the worker is keeping the execution warm waiting for the result.
2838+ closing : _,
2839+ } ,
2840+ paused : _,
2841+ } =
2842+ PendingStateMergedPause :: from ( combined_state. execution_with_state . pending_state )
28382843 && * join_set_id == found_join_set_id
28392844 {
28402845 let scheduled_at = std:: cmp:: max ( lock_expires_at, event. created_at ) ;
0 commit comments