Skip to content

Decouple inbox/exclusive lock usage from invocation target #2326

Open
@slinkydeveloper

Description

Right now we couple the inbox usage in the partition processor to the invocation target, see

if metadata.invocation_target.invocation_target_ty()

I propose to add a new field to ServiceInvocation, e.g. locking_semantics, that is optional and when present, enables the usage of the exclusive service lock and of the inbox. The first variants would be:

enum LockingSemantics {
  Lock { key: String }
  NoLock
}

Names to be defined/open to suggestions.

This new field would then be used by the virtual object exclusive handlers, replacing the current coupling to invocation target, and by #1299 as well.
It might turn out to be useful for #12 too, if we add another variant ReplaceExistingOne or similar.

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions