diff --git a/lib/actors/actor/entity/entity.ex b/lib/actors/actor/entity/entity.ex index a3d137e4..5d2e8e7f 100644 --- a/lib/actors/actor/entity/entity.ex +++ b/lib/actors/actor/entity/entity.ex @@ -414,6 +414,7 @@ defmodule Actors.Actor.Entity do case action do {:invocation_request, invocation, opts} -> opts = Keyword.merge(opts, async: true) + handle_invocation_request(invocation, opts, nil, state) |> reply_to_noreply() diff --git a/lib/actors/actor/entity/lifecycle.ex b/lib/actors/actor/entity/lifecycle.ex index fe743049..1b363bde 100644 --- a/lib/actors/actor/entity/lifecycle.ex +++ b/lib/actors/actor/entity/lifecycle.ex @@ -100,7 +100,13 @@ defmodule Actors.Actor.Entity.Lifecycle do {:ok, state, {:continue, :load_state}} end - def load_state(%EntityState{actor: actor, revision: revision, opts: opts} = state) do + def load_state( + %EntityState{ + actor: %Actor{settings: %ActorSettings{stateful: true}} = actor, + revision: revision, + opts: opts + } = state + ) do case get_state(actor.id, revision) do {:ok, current_state, current_revision, status, node} -> split_brain_detector = @@ -122,7 +128,7 @@ defmodule Actors.Actor.Entity.Lifecycle do {:continue, :call_init_action}} error -> - handle_load_state_error(actor.name, state, error) + handle_load_state_error(actor.id, state, error) end end diff --git a/lib/spawn/cluster/provisioner/scheduler.ex b/lib/spawn/cluster/provisioner/scheduler.ex index 79eb1544..8a33f5a6 100644 --- a/lib/spawn/cluster/provisioner/scheduler.ex +++ b/lib/spawn/cluster/provisioner/scheduler.ex @@ -31,7 +31,13 @@ defmodule Spawn.Cluster.Provisioner.Scheduler do The result of executing the provided function within the context of the actor provisioning system. """ def execute( - %SpawnTask{actor_name: actor_name, invocation: invocation, opts: opts, state: state, async: false}, + %SpawnTask{ + actor_name: actor_name, + invocation: invocation, + opts: opts, + state: state, + async: false + }, func ) when is_function(func) do @@ -42,7 +48,13 @@ defmodule Spawn.Cluster.Provisioner.Scheduler do end def execute( - %SpawnTask{actor_name: actor_name, invocation: invocation, opts: opts, state: state, async: true}, + %SpawnTask{ + actor_name: actor_name, + invocation: invocation, + opts: opts, + state: state, + async: true + }, func ) when is_function(func) do diff --git a/spawn_sdk/spawn_sdk/lib/defact.ex b/spawn_sdk/spawn_sdk/lib/defact.ex index 576ec9a7..30ed6a22 100644 --- a/spawn_sdk/spawn_sdk/lib/defact.ex +++ b/spawn_sdk/spawn_sdk/lib/defact.ex @@ -28,14 +28,10 @@ defmodule SpawnSdk.Defact do end defmacro action(action_name, opts, block_fn) do - action_name = parse_action_name(action_name) - define_action(action_name, block_fn, opts) end defmacro action(action_name, block_fn) do - action_name = parse_action_name(action_name) - define_action(action_name, block_fn) end