Skip to content

[Bug] Unable to pickle proto classes, module name is 'temporal' instead of 'temporalio' #1087

@martinxsliu

Description

@martinxsliu

Hi team,

I'm trying to run workflow unit tests with a process pool and I'm getting the following error:

multiprocessing.pool.MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x7efc28c0ba10>'. Reason: 'PicklingError("Can't pickle <class 'temporal.api.failure.v1.message_pb2.Failure'>: import of module 'temporal.api.failure.v1.message_pb2' failed")'

Seems like maybe it's because the module names in the generated proto classes are prefixes with temporal instead of temporalio, for example: https://github.com/temporalio/sdk-python/blob/1.17.0/temporalio/api/failure/v1/message_pb2.py#L60

Minimal Reproduction

Will try to create a repro..

Environment/Versions

  • OS and processor: Mac
  • Temporal Version: 1.17
  • Are you using Docker or Kubernetes or building Temporal from source? Using wheel from PyPI

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions