Skip to content

Figure out how to support GUWT worker identity with ImpostorWorkflow #79

@zach-klippenstein

Description

@zach-klippenstein

In square/workflow#961 (comment) I missed the fact that, even without adding keys to Workflow, we still need a way to express a worker's type through ImpostorWorkflow. We currently use KType for worker identity, but that type is not serializable, and definitely not deserializable.

We don't want to take on the major change of adding a non-snapshottable workflow type, which leaves us with the following options:

  1. Write our own (de)serializer for KType. This could be hard to do right, there are a lot of edge cases. It's also a waste of effort, since we have no actual state to snapshot anyway.
  2. Figure out some dirty hack for making WorkflowIdentifier accept non-serializable types and avoid snapshotting.

Since 1 is wasted work, I think 2 is better, even though i am not optimistic we'll be able to come up with a solution that isn't hacky. As long as give the hack enough friction, it is unlikely to wreak a lot of havoc.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions