@@ -835,6 +835,8 @@ def __init__(self, instance_id: str, registry: _Registry):
835835 # Maps entity ID to task ID
836836 self ._entity_task_id_map : dict [str , tuple [EntityInstanceId , int ]] = {}
837837 self ._entity_lock_task_id_map : dict [str , tuple [EntityInstanceId , int ]] = {}
838+ # Maps criticalSectionId to task ID
839+ self ._entity_lock_id_map : dict [str , int ] = {}
838840 self ._sequence_number = 0
839841 self ._new_uuid_counter = 0
840842 self ._current_utc_datetime = datetime (1000 , 1 , 1 )
@@ -1171,6 +1173,7 @@ def call_entity_function_helper(
11711173 raise RuntimeError (error_message )
11721174
11731175 encoded_input = shared .to_json (input ) if input is not None else None
1176+
11741177 action = ph .new_call_entity_action (id , self .instance_id , entity_id , operation , encoded_input , self .new_uuid ())
11751178 self ._pending_actions [id ] = action
11761179
@@ -1684,7 +1687,7 @@ def process_event(
16841687 entity_id = EntityInstanceId .parse (event .entityOperationCalled .targetInstanceId .value )
16851688 except ValueError :
16861689 raise RuntimeError (f"Could not parse entity ID from targetInstanceId '{ event .entityOperationCalled .targetInstanceId .value } '" )
1687- ctx ._entity_task_id_map [event .entityOperationCalled .requestId ] = (entity_id , entity_call_id , None )
1690+ ctx ._entity_task_id_map [event .entityOperationCalled .requestId ] = (entity_id , entity_call_id )
16881691 elif event .HasField ("entityOperationSignaled" ):
16891692 # This history event confirms that the entity signal was successfully scheduled.
16901693 # Remove the entityOperationSignaled event from the pending action list so we don't schedule it
@@ -1745,7 +1748,7 @@ def process_event(
17451748 ctx .resume ()
17461749 elif event .HasField ("entityOperationCompleted" ):
17471750 request_id = event .entityOperationCompleted .requestId
1748- entity_id , task_id , _ = ctx ._entity_task_id_map .pop (request_id , (None , None , None ))
1751+ entity_id , task_id = ctx ._entity_task_id_map .pop (request_id , (None , None ))
17491752 if not entity_id :
17501753 raise RuntimeError (f"Could not parse entity ID from request ID '{ request_id } '" )
17511754 if not task_id :
0 commit comments